Ich erstelle eine Tabelle 'Test' mit zwei Spalten: (Age Int, Name TEXT) in MySQL-Datenbank.Mysql mit Python kann Datensatz mit Autoincrement ID nicht einfügen, warum?
Dann füge ich einen Datensatz die folgenden Codes (mit einer Liste):
record = [12, 'Tom']
cursor.execute("insert into test values(%s,%s)", record)
Die obigen Codes funktionieren in MySQL (ich verwende Python 2.7 zur Programmierung).
Ich lösche dann die alte Tabelle und wollen eine AUTO_INCREMENT p_id Feld für die neue Tabelle hinzufügen, indem Sie den folgenden Code in die TABLE-SQL CREATE:
P_id int(11) PRIMARY KEY AUTO_INCREMENT,
und die neue Tabelle funktioniert und ich es finden in mysql. Allerdings, wenn ich versuchen, einen neuen Datensatz einfügen die gleichen Codes verwenden:
record = [12, 'Tom']
cursor.execute("insert into test values(%s,%s)", record)
Aber es funktioniert nicht und Berichte:
OperationalError: (1136, "Column count doesn't match value count at row 1")
Es sieht aus wie ich den Wert p_id hinzufügen sollte mich selber? Aber sollte es automatisch zunehmen und ich kann das weglassen? Ich bin ein ziemlich Neuling in MySQL und bitte helfen Sie mit Details.
Dies ist meine erste Frage in StackOverflow und danke für jede Hilfe.
Ihre Antwort so rechtzeitig und groß ist. –
Es funktioniert ganz gut. Vielen Dank. Mir ist jetzt klar, dass die Standardeinstellung das gesamte Feld aktualisieren soll. So toll ist die erste Erfahrung in Stackoverflow. :) –