Keine neue Zeile für neue Einträge in MySQL Tabelle

Beiträge
23
Hallo,
ich habe eine Tabelle erzeugt und lasse über PHP Daten aus einem Formular rein schreiben...

Aber nicht jedesmal sind Daten für alle Spalten dabei bzw es ist immer nur ein Name. Jetzt wird jedesmal eine Komplett neue Zeile für jeden Namen angelegt...

Es soll aber insgesamt nur eine Zeile geben!

Wie stelle ich das an?

Maxim
 
Werbung:
ok das klingt so als müsste ich einfach statt INSERT UPDATE schreiben oder gilt es noch etwas zu beachten? Und wie mache ich es, dass eine Zeile in der schon ein Name steht nicht mehr beschreiben kann?
 
Die Syntax ist eine andere und wird in der Doku erklärt. Der zweite Teil der Frage ist unverständlich, klingt aber evtl. nach einer Trigger-Anwendung.
 
Ich habe es jetzt so gemacht:

PHP:
$result = mysql_query("UPDATE Baren SET '".$_POST['termin']."' = '".$_POST['name']."'");

Aber es ändert/erstellt keine Einträge...

Was ist daran falsch?
 
das scheint auch sowohl inhaltlich als auch syntaktisch falsch zu sein. Ein Update ohne Where ist übrigens oft nicht das, was man will.
 
Mit dem Where bestimmt Du, welche Datensätze verändert werden sollen. Möglicherweise willst Du ja nicht alle verändern, was ohne Where aber passieren würde.
 
Code:
test=*# create table demo(id int primary key, col1 text, col2 text);
CREATE TABLE
test=*# insert into demo values (1, null, null);
INSERT 0 1
test=*# insert into demo values (2, null, null);
INSERT 0 1
test=*# select * from demo ;
 id | col1 | col2
----+------+------
  1 |  |
  2 |  |
(2 rows)

test=*# update demo set col1 = 'test', col2 = 'mit where' where id = 1;
UPDATE 1
test=*# select * from demo ;
 id | col1 |  col2
----+------+-----------
  2 |  |
  1 | test | mit where
(2 rows)

test=*# update demo set col1 = 'oh shit!!1elf', col2 = 'ohne where' ;
UPDATE 2
test=*# select * from demo ;
 id |  col1  |  col2
----+---------------+------------
  2 | oh shit!!1elf | ohne where
  1 | oh shit!!1elf | ohne where
(2 rows)
 
Werbung:
Zurück
Oben