我的mysql中有一个看起来像这样的表:
location(char17), id(int9), sideid(int9), total(int9), other...(other)
如果找不到ID和SideID,我必须在此表中插入新内容,如果它们都相同则更新。我的困境是我需要它来检查ID和SideID是否存在。
因此,在我的表中添加一些内容之后,应该看起来像这样:
mplace1, 100, 4, 10, other data...
mplace1, 100, 5, 6, other data...
mplace1, 100, 3, 6, other data...
mplace1, 50, 3, 6, other data...
mplace1, 50, 6, 6, other data...
前3列基本上是一个巨型键。可以有多个位置,一个位置内的多个ID,以及其中的多个SideID。但它不能完全匹配。因此,如果Location,ID和SideID都匹配,则不应将其插入数据库,而是更新“其他数据”。
将它放在一个单独的mysql_query中也非常重要......我已经尝试了几个星期了,但我仍然迷失了。希望有人知道如何做到这一点。请注意,如果它不能在一个查询中完成,那么我猜我会接受。这是一项特殊的任务。
只是澄清一下。我的意思是那些3列(位置,id,侧面)在一起不能重复。因此其他列将能够具有不同的值。
因此,如果 mplace1,100,4,10,“其他一些数据1”在表格中。插入此 mplace1,100,4,999,“其他一些”会更新。如何指定要检查的列和无关紧要的列。
答案 0 :(得分:1)
INSERT OR REPLACE INTO table (column1, column2) VALUES ('value1', 'value2');
这将自动检查重复项(例如重复的ID),因此如果需要它会update
,否则它只会insert
一个新行。
答案 1 :(得分:0)
INSERT OR REPLACE INTO table (column1, column2) VALUES ('value1', 'value2');