Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro #1064 com INSERT INTO


ATUALIZAÇÃO O motivo pelo qual o OP está recebendo um erro de sintaxe é porque uma vírgula foi deixada de fora após a declaração da coluna de senha:
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 INSERÇÃO EM CAMPOS DE INCREMENTO AUTOMÁTICO

Você está tentando inserir em um campo de incremento automático adminId . Não especifique um valor para isso, o MySQL automaticamente cuida disso.
INSERT INTO admin (`userName`, `password`) VALUES ('wardens', 'Bega&1120');

Se você deseja colocar explicitamente um valor em seu INSERT consultas para o campo de incremento automático, você tem três opções com base na especificação do campo como NOT NULL - '' , 0 , ou NULL . Aqui está a referência. .
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');

ATUALIZAÇÃO Testes adicionais (como sugerido por @eggyal) revelam que qualquer valor pode ser inserido em campos de incremento automático, independentemente do mecanismo de banco de dados especificado.