タイトルはすべてです。エラー1062、「EMPTYテーブルのキー 'Email_UNIQUE'の重複エントリ '[email protected]'」
以下の作成構文を含む空のテーブル。データベース内のテーブルのみ。
CREATE TABLE IF NOT EXISTS `ACME`.`Registration` (
`ConfirmationNumber` INT NOT NULL AUTO_INCREMENT,
`FirstName` VARCHAR(45) NOT NULL,
`LastName` VARCHAR(45) NOT NULL,
`CompanyName` VARCHAR(100) NOT NULL,
`Title` VARCHAR(60) NOT NULL,
`Email` VARCHAR(60) NOT NULL,
`PhoneNumber` VARCHAR(20) NOT NULL,
`StreetAddress` VARCHAR(100) NOT NULL,
`City` VARCHAR(30) NOT NULL,
`Province` VARCHAR(30) NOT NULL,
`ZipCode` VARCHAR(10) NOT NULL,
`Country` VARCHAR(40) NOT NULL,
PRIMARY KEY (`ConfirmationNumber`),
UNIQUE INDEX `ConfirmationNumber_UNIQUE` (`ConfirmationNumber` ASC),
UNIQUE INDEX `Email_UNIQUE` (`Email` ASC),
UNIQUE INDEX `PhoneNumber_UNIQUE` (`PhoneNumber` ASC))
ENGINE = InnoDB
すべての挿入がこのエラーになります。
Error 1062, "Duplicate entry '[email protected]' for key 'Email_UNIQUE'"
私は自動インクリメント確認番号の有無にかかわらず0を挿入しようとしました。
私はこの(Mac)システム環境設定のペインがサーバがうまく動作していることを示すので、私はmysqlの私のインストールと関係があると思うが、私は端末から停止/起動しようとすると、 。具体的に:
$ mysql.server stop
ERROR! MySQL server PID file could not be found!
$ mysql.server start
Starting MySQL
.. ERROR! The server quit without updating PID file (/usr/local/var/mysql/rover-231-4.rovernet.mtu.edu.pid).
が、私は私が登録テーブルに挿入さをGET DOES データから、正しいサーバ(ローカルホスト)と、データベースに接続していを知って。
これはPython/MySQL/Flask - > HTML/CSS/JSスタックです。これらはすべて私が新しくなったものです。挿入するPythonのコードは次のとおりです。
query_string = (
"INSERT INTO Registration "
"(FirstName, LastName, CompanyName, Title, Email, PhoneNumber, "
"StreetAddress, City, Province, ZipCode, Country) "
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);")
cursor.execute(query_string, (first_name, last_name, company, title, email, phone, address, city, state, zipcode, country))
編集:私はまた、私はインストールの問題に遭遇して再インストールする必要がありましたまで、まったく同じコードが完全にうまく働いたことを追加する必要があります。
データベースやテーブル全体を削除して名前を変更しました。同じ結果。私はlocalhostにサーバを持ち、ユーザのルートを定義しています。プログラム全体にループがなく、これが唯一の挿入コマンドであり、それに続いて印刷が行われるので、ループしている可能性はありません。上記のSQLはデータベース作成スクリプト全体であるため、定義された挿入トリガはありません。 HTMLフィールドで異なる値を使用すると、エラーの異なる値が返されるため、電子メール変数は確実に変化しています。私は完全に電子メールを削除する場合は、電話番号にも発生します。 – unwrittenrainbow
一意なキー制約違反が発生したときのエラーです。私の次の提案は、一意のインデックスを削除してコードを実行することです。テーブルの内容を調べて、行が含まれているかどうかを確認します。 (私はあなたが2つ以上の行を見つけると思われます) – spencer7593