Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd #1064 z INSERT INTO

AKTUALIZUJ Powodem, dla którego OP otrzymuje błąd składni, jest pominięcie przecinka po deklaracji kolumny hasł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`))

UWAGI DOTYCZĄCE WSTAWIANIA W POLA AUTOMATYCZNEGO PRZYROSTU

Próbujesz wstawić do automatycznie powiększającego się pola adminId . Nie podawaj wartości, MySQL automatycznie się tym zajmie.

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

Jeśli chcesz jawnie umieścić wartość w swoim INSERT zapytania dla pola auto-inkrementacji masz trzy możliwości w oparciu o określenie pola jako NOT NULL - '' , 0 lub NULL . Oto odniesienie. .

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

AKTUALIZUJ Dalsze testy (sugerowane przez @eggyal) ujawniają, że dowolne wartość może być wstawiona do pól automatycznego zwiększania, niezależnie od określonego silnika bazy danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Relacja tabeli dla podtypów

  2. Zapytanie o relację wiele-do-wielu za pomocą Doctrine z Symfony2

  3. 3 sposoby na wykrycie, czy ciąg pasuje do wyrażenia regularnego w MySQL

  4. jak wstawić znaki Unicode do mysql za pomocą instrukcji insert?

  5. MySQL - auto dekrementacja wartości