它不会发现存在一个行,其中“ 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'"
);

最佳答案

INSERT查询是正确的,但我认为您未能在列UNIQUE上定义bookName约束。执行以下语句:

ALTER TABLE custombookinfo ADD CONSTRAINT tb_uq UNIQUE (bookName);

09-17 10:36