値がまったく同じではない場合、非常に奇妙な重複エントリエラーが発生します...
INSERT INTO offer_status (id,user_id,sql_id,disabled)
VALUES ('8854011812','8854','11812','0')
戻り値:
#1062
- キー「PRIMARY」の重複エントリ「2147483647」
これは私にはまったく意味がありません!
注: このコードは通常は実行されません。デバッグしようとしているだけです。通常、私のPHPには次のものがあります。
$offer=$campid;
$id=$user_id.'0'.$offer;
$sql="INSERT INTO offer_status (id,user_id,sql_id,disabled) VALUES (?,?,?,?)
ON DUPLICATE KEY UPDATE disabled=VALUES(disabled)";
$db->prepare($sql)->execute(array($id, $user_id, $offer, 0));
id
主キーです。ここで何が起こっているのですか?
追加: の結果DESC offer_status
:
Field Type Null Key Default Extra
id int(12) NO PRI NULL
user_id int(12) NO NULL
sql_id int(12) NO MUL NULL
favor tinyint(4) NO 0
disabled tinyint(4) NO 0
pref int(2) NO 0