Datum:
Hallo zusammen Ich habe das Problem das ich in einer Schleife ca. 50 "Insert" Queries ausführe.
sprintf(msg,"INSERT INTO `loggdb`.`temp1` (Wert) VALUES ('%u');",wert);
mysql_real_query(conn,msg,strlen(msg));
|
Leider steht dann nur ein Datensatz in der Datenbank. ???? Werte ändern sich! Nur Tabelle ist im Moment immer die gleiche. Wenn ich eine Pause einfüge klappt es!! Das kann doch nicht sein oder?? Hab mit START TRANSACTION, COMMIT schon probiert. Hab gelesen das man myisam_bulk_insert_tree_size oder key_buffer_size grösser machen kann. Ich finde aber die Standard werte müssen doch reichen. Bin der einzige der auf die db zugreift. Komm nicht mehr weiter. Kann mir jemand einen Tipp geben? Danke
Datum:
Endlich. Vielen vielen Dank. Dein Tipp mit mysql_error hat mir folgenden Fehler ausgegeben:
Fehler: Duplicate entry '2012-03-31 14:55:57' for key 'PRIMARY' |
Also bei der Spalte mit dem Zeitstempel "Primary Key" deaktivieren und schon funktioniert es. Man das hätte ich auch schon früher machen können mit dem error. Vielen vielen Dank.
Datum:
Eine timestamp-Spalte als PRIMARY KEY zu definieren scheint mir nicht besonders sinnvoll. Weißt du überhaupt was du tust?
Datum:
@D. I. Ja das mit dem PRIMARY KEY hast du absolut recht. Die Spalte war mal die ID mit AUTO_INCREMENT so kam das zustande:-(