sql >> Databáze >  >> RDS >> Mysql

Chyba #1064 s INSERT INTO

AKTUALIZACE Důvod, proč OP dostává chybu syntaxe, je ten, že za deklarací sloupce hesla byla vynechána čárka:

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

POZNÁMKY K VKLÁDÁNÍ DO POLE AUTOMATICKÉHO PŘIDÁVÁNÍ

Pokoušíte se vložit do automaticky se zvyšujícího pole adminId . Nezadávejte pro to hodnotu, MySQL se o to automaticky postará.

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

Pokud chcete explicitně umístit hodnotu do INSERT dotazy pro pole automatického přírůstku máte tři možnosti na základě zadání pole jako NOT NULL - '' , 0 , nebo NULL . Zde je reference. .

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

AKTUALIZACE Další testování (jak navrhuje @eggyal) odhalí, že jakýkoli hodnotu lze vložit do polí automatického přírůstku bez ohledu na zadaný databázový stroj.



  1. Jak svázat uživatele s různými organizacemi, univerzitami, společnostmi s různými rolemi?

  2. SELECT výsledky s nesprávným pořadím sloupců s PyMySQL

  3. Uložená procedura a vyplnění tabulky Temp z propojené uložené procedury s parametry

  4. Jak vrátit více řádků pomocí uložené funkce pl/sql?