「エラー コード: 1062。重複エントリ エラー: 「ID」列の問題の解決\」が表示されるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-10-30 22:57:29
オリジナル
897 人が閲覧しました

Why am I getting

エラー コード: 1062。重複エントリ エラー: "ID" 列の問題の解決

エラー コード: 1062 が発生しました。 「キー 'PRIMARY' のエントリ '1' が重複しています」は、主キー内の値が競合していることを示します。テーブルを詳しく調べて、この問題の根本原因を特定してみましょう。

UFICIO-INFORMAZIONI テーブル

提供されたテーブルは、UFFICIO-INFORMAZIONI テーブルの列の概要を示しています。 「ID」、「viale」、およびその他の属性が含まれます。 「ID」列は主キーとして指定されており、その値が行ごとに一意である必要があることを示しています。

重複エントリ エラーの原因

エラーこれは、「ID」列が重複したエントリで定義されているために発生します。指定した SQL ステートメント内:

<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`ID`, `viale`, `num_civico`, ...)
VALUES (1, 'Viale Cogel ', '120', ...)</code>
ログイン後にコピー

「ID」列は明示的に「1」に設定されており、主キー制約と矛盾しています。主キーは一意である必要があるため、データベースはエラーを生成します。

解決策: AUTO_INCREMENT の使用

この問題を解決するには、「ID」列を AUTO_INCREMENT として設定することを検討してください。 。これにより、データベースは挿入操作中に「ID」列の一意の値を自動的に生成し、主キーの整合性を確保します。

AUTO_INCREMENT を使用して変更したテーブル定義は次のとおりです。

<code class="sql">CREATE  TABLE IF NOT EXISTS `PROGETTO`.`UFFICIO-INFORMAZIONI` (
  `ID` INT(11) NOT NULL AUTO_INCREMENT,
  `viale` VARCHAR(45) NULL ,
   .....</code>
ログイン後にコピー

'ID' を指定せずにレコードを挿入する

AUTO_INCREMENT を有効にしてレコードを挿入する場合、SQL ステートメントでの 'ID' 列の指定を省略できます。データベースは各行に一意の ID を自動的に割り当てます。

例:

<code class="sql">INSERT INTO `PROGETTO`.`UFFICIO-INFORMAZIONI` (`viale`, `num_civico`, ...)
VALUES ('Viale Cogel ', '120', ...)</code>
ログイン後にコピー

重複エントリの問題に対処し、AUTO_INCREMENT を実装することで、UFFICIO へのレコードのスムーズな挿入を保証できます。 -情報テーブル

以上が「エラー コード: 1062。重複エントリ エラー: 「ID」列の問題の解決\」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート