sql >> Database >  >> RDS >> Mysql

MySQL-fout - #1062 - Dubbele invoer '' voor sleutel 2

Naast het antwoord van Sabeen:

De ID van de eerste kolom is uw primaire sleutel.
Voer '' niet in in de primaire sleutel, maar voeg in plaats daarvan null in.

INSERT INTO users
  (`id`,`title`,`firstname`,`lastname`,`company`,`address`,`city`,`county`
   ,`postcode`,`phone`,`mobile`,`category`,`email`,`password`,`userlevel`) 
VALUES     
  (null,'','John','Doe','company','Streeet','city','county'
  ,'postcode','phone','','category','[email protected]','','');

Als het een autoincrement-sleutel is, lost dit uw probleem op.
Als u geen id maakt een autoincrement-sleutel en voeg altijd null in erin om een ​​automatische verhoging te activeren.

MySQL heeft een instelling om sleutels automatisch te verhogen alleen op null insert of op beide inserts van 0 en null . Reken niet op deze instelling, omdat je code kan breken als je van server verandert.
Als je null invoegt je code werkt altijd.

Zie:http://dev.mysql.com /doc/refman/5.0/en/example-auto-increment.html



  1. DISTINCT gebruiken in SQL

  2. MySQL BLOB versus bestand voor het opslaan van kleine PNG-afbeeldingen?

  3. SQL ORDER BY-clausule voor beginners

  4. Dynamische conversie van string naar kolomnaam. MySQL