sql >> Database >  >> RDS >> Mysql

#1064 fout met INSERT INTO

UPDATE De reden dat het OP een syntaxisfout krijgt, is omdat er een komma is weggelaten na de verklaring van de wachtwoordkolom:

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

OPMERKINGEN OVER HET INVOEGEN IN VELDEN VOOR AUTOMATISCHE VERHOGING

U probeert adminId in een automatisch oplopend veld in te voegen . Geef daar geen waarde voor op, MySQL zorgt er automatisch voor.

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

Als u expliciet een waarde wilt plaatsen in uw INSERT query's voor het auto-increment veld heeft u drie keuzes op basis van het specificeren van het veld als NOT NULL - '' , 0 , of NULL . Hier is de referentie. .

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

UPDATE Verdere tests (zoals gesuggereerd door @eggyal) laten zien dat elke waarde kan worden ingevoegd in velden voor automatisch verhogen, ongeacht de opgegeven database-engine.



  1. Hoe het laden van gegevens in InnoDB versnellen (LOAD DATA INFILE)?

  2. Veel-op-veel-relatie in Entity Framework met relatie-informatie

  3. MyBatis RowBounds beperkt de resultaten van zoekopdrachten niet

  4. MySQL bewering-achtige beperking