我有一个像这样的表结构:
如果属性和产品ID匹配,因此该行已经存在,那么我只想更新价格,否则,创建一个新行。
我有此代码,它是循环的一部分,它将发送多个INSERT INTO
查询,这些查询包含不同的属性,产品ID和价格,现在它无法确定属性和产品ID是否匹配并显示为仅更新属性列中匹配的价格:
INSERT INTO my_table (id,attributes,product_id,price) VALUES ('','61','4000','500') ON DUPLICATE KEY UPDATE
价格= '500'
我尝试在属性和产品ID列上都定义唯一,但是这样做时,它会更新仅与属性匹配的现有行上的价格(当产品ID不匹配时,价格便会添加到错误的行)+未创建新行。
也许答案是不同的结构。我该怎么办?
答案 0 :(得分:0)
尝试
INSERT INTO my_table (attributes,product_id,price) VALUES ('61','4000','500') ON DUPLICATE KEY UPDATE price= '500'