sql >> データベース >  >> RDS >> Mysql

MySQLエラー-#1062-キー2の重複エントリ''

    サビーンの答えに加えて:

    最初の列IDが主キーです。
    ''を挿入しないでください 主キーに挿入しますが、代わりにnullを挿入します。

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

    自動インクリメントキーの場合、これで問題が解決します。
    idを作成しない場合 自動インクリメントキーで、常にnullを挿入します それに自動インクリメントをトリガーします。

    MySQLには、nullでのみキーを自動インクリメントする設定があります 0の挿入または両方の挿入 およびnull 。サーバーを変更するとコードが破損する可能性があるため、この設定を当てにしないでください。
    nullを挿入した場合 コードは常に機能します。

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



    1. MariaDB JSON_KEYS()の説明

    2. LOAD DATA INFILEエラーコード:13

    3. Google Cloud Platform(GCP)でのMySQLフェイルオーバーとフェイルバックの実現

    4. CONCAT()がMySQLのデフォルトの文字セットにデフォルト設定されないのはなぜですか?