1

'bookName'が'bookName'と等しい行が存在することを検出して更新する代わりに、まったく新しい行を作成します。私のコマンドの何が問題になっていますか?ありがとう!

$query = mysql_query(
"INSERT INTO custombookinfo (userId, sendToAddress, work, caseStudies, url, entryPoint, date, bookName) 
 VALUES ('$userId', '$emailAddress', '$work', '$caseStudies', '$url', '$entryPoint', '$date', '$bookName') 
 ON DUPLICATE KEY UPDATE bookName = 'bookName'"
);
4

2 に答える 2

0

テーブル内でUNIQUEにしたい内容に応じて、user_idまたはbookNameのどちらのインデックス(PRIMARYまたはUNIQUE)を作成する必要があります。

INSERT ... ON DUPLICATEKEYUPDATE の詳細http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

于 2013-03-21T03:15:04.407 に答える
0

クエリは正しいですが、列の制約INSERTを定義できなかったと思います。次のステートメントを実行します。UNIQUEbookName

ALTER TABLE custombookinfo ADD CONSTRAINT tb_uq UNIQUE (bookName);
于 2013-03-21T01:48:38.290 に答える