在 MySQL 中,我有一个像这样的 tblProjects -
Project_ID Field_ID Record_ID Label 556895 1 1 Office desk 1 556895 1 2 Office desk 2 556895 2 1 This is a desk 1 556895 2 2 This is a desk 2 472246 1 1 Hello 1 472246 1 2 Hello 2 472246 2 1 This is a wooden desk 1 472246 2 2 This is a wooden desk 2
I use a sql query (written in PHP) which will insert a value like this -
$sql_query = "INSERT INTO Items (Project_ID, Field_ID, Record_ID, Label) VALUES ('232323', '3', '3', 'New Label')";
它工作正常。但如果所有三个“Project_ID”、“Field_ID”和“Record_ID”都相同,我需要更新“标签”——如果有任何一个不同,则作为新记录插入。
从记录结构中可以明显看出,Unique/Primary 不是此处的选项。
最佳答案
为什么唯一性不是一个选项?只需同时为这三个字段创建它即可。
然后你可以使用ON DUPLICATE KEY UPDATE
语法。
关于php - 如果记录相同则更新 SQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19012922/