Mysql
 sql >> Datenbank >  >> RDS >> Mysql

#1064 Fehler bei INSERT INTO

AKTUALISIEREN Der Grund, warum das OP einen Syntaxfehler erhält, liegt darin, dass ein Komma nach der Deklaration der Kennwortspalte weggelassen wurde:

CREATE TABLE IF NOT EXISTS `terrier`.`admin` (
  `adminId` int(11) NOT NULL auto_increment,
  `userName` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL <-- should be a comma here
  PRIMARY KEY (`adminId`))

HINWEISE ZUM EINFÜGEN IN AUTO-INCREMENT-FELDERN

Sie versuchen, adminId in ein automatisch inkrementierendes Feld einzufügen . Geben Sie dafür keinen Wert an, MySQL kümmert sich automatisch darum.

INSERT INTO admin (`userName`, `password`) VALUES ('wardens', 'Bega&1120');

Wenn Sie explizit einen Wert in Ihren INSERT einfügen möchten Abfragen für das Auto-Increment-Feld haben Sie drei Möglichkeiten, je nachdem, ob das Feld NOT NULL ist - '' , 0 , oder NULL . Hier ist die Referenz. .

INSERT INTO admin (`adminId`, `userName`, `password`) VALUES ('', 'wardens', 'Bega&1120');
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES (0, 'wardens', 'Bega&1120');
INSERT INTO admin (`adminId`, `userName`, `password`) VALUES (NULL, 'wardens', 'Bega&1120');

AKTUALISIEREN Weitere Tests (wie von @eggyal vorgeschlagen) zeigen, dass any Wert kann unabhängig von der angegebenen Datenbank-Engine in Auto-Increment-Felder eingefügt werden.