mysql - 2つの列に一意のインデックスを持つテーブルにINSERT INTO

mysql sql insert mysql-error-1062 unique-index

私は単純なtag_mapテーブルを持っています

CREATE TABLE tag_map
(
tag_map_id mediumint(7) unsigned NOT NULL AUTO_INCREMENT,
post_id mediumint(7) unsigned REFERENCES posts(post_id),
tag_id mediumint(7) unsigned REFERENCES tags(tag_id),
UNIQUE INDEX (post_id,tag_id),
PRIMARY KEY(tag_map_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci


UNIQUE INDEXを追加して、投稿に関連付けられたタグのペアが重複しないようにしました。今私が新しいエンターテイを追加しようとすると

INSERT IGNORE INTO (post_id,tag_id) VALUES (post1_id,tag1_id), (post1_id, tag2_id),...


エラーが発生します

ERROR 1062 (23000): Duplicate entry '16777215' for key 'PRIMARY'


ただし、SELECT WHERE tag_map_id = '16777215';これは別のタグと投稿に属しています。

どこを間違えたか?
答え
http://dev.mysql.com/doc/refman/5.0/en/integer-types.html

PKのmediumintの最大値16777215に達しました。

int以上に変更
関連記事

mysql - MySQLはtable1への挿入時にtable2に行を自動挿入します

php - Zend_Db_Statement_Pdo-> paramsの式で実行

mysql - SSHセッションでmysqldumpを使用するときに表示されるクリアテキストのパスワードエントリ

c# - Entity Framework-DeleteObjectのデータベースへのトリップ数

php - Ajaxフォーム送信ボタンで送信

php - フォームフィールドにphp / mysqlを入力する最も面倒な方法はありますか?

php - このmysql / phpクエリをどのように最適化できますか?

php - MySQLの親子テーブルにより、データベース呼び出しが減少するか、PHPでマージされます

java - SQL SELECTのみのクエリテキスト検証

mysql - Djangoと変換を使用して大きなCSVファイルをMySQLにロードする