sql >> Databasteknik >  >> RDS >> Mysql

#1064 fel med INSERT INTO

UPPDATERA Anledningen till att OP får ett syntaxfel är att ett kommatecken utelämnades efter deklarationen av lösenordskolumnen:

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

ANMÄRKNINGAR OM ATT INFOGA I FÄLT MED AUTO-INKREMENT

Du försöker infoga adminId i ett automatiskt ökande fält . Ange inte ett värde för det, MySQL tar automatiskt hand om det.

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

Om du uttryckligen vill placera ett värde i din INSERT frågor för det automatiska ökningsfältet har du tre val baserat på att ange att fältet ska vara NOT NULL - '' , 0 , eller NULL . Här är referensen. .

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

UPPDATERA Ytterligare tester (som föreslås av @eggyal) visar att alla värde kan infogas i fält för automatisk ökning oavsett vilken databasmotor som anges.



  1. Psycopg2 Infoga i tabell med platshållare

  2. kan inte få VISSA sessionsvariabler över sidor

  3. sortering efter högt-lågt pris med mysql-data

  4. Förhindrar Knex.js sql-injektion?