sql >> Base de Datos >  >> RDS >> Mysql

#1064 error con INSERTAR EN

ACTUALIZAR La razón por la que OP está recibiendo un error de sintaxis es porque se omitió una coma después de la declaración de la columna de contraseña:

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`))

NOTAS SOBRE LA INSERCIÓN EN CAMPOS DE INCREMENTO AUTOMÁTICO

Está intentando insertar en un campo de incremento automático adminId . No especifiques un valor para eso, MySQL se encarga automáticamente.

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

Si desea colocar explícitamente un valor en su INSERT consultas para el campo de incremento automático, tiene tres opciones basadas en especificar que el campo sea NOT NULL - '' , 0 o NULL . Aquí está la referencia. .

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');

ACTUALIZAR Pruebas adicionales (según lo sugerido por @eggyal) revelan que cualquier El valor se puede insertar en campos de incremento automático independientemente del motor de base de datos especificado.