是否有可能像插入进行更新 ?
UPDATE `table` SET `value` ('N','N','N','N','Y','Y','Y','N', 'N') WHERE `my_id` = '1'
问题是,要插入值的数量现在我不。 它可以是一个5或10。
是否有可能像插入进行更新 ?
UPDATE `table` SET `value` ('N','N','N','N','Y','Y','Y','N', 'N') WHERE `my_id` = '1'
问题是,要插入值的数量现在我不。 它可以是一个5或10。
取而代之的是,就像插入,它只是检查是否有重复键,如果它是它删除了该行,并插入新的,否则它只是插入
你能做到这一点,如果有例如独特的(名称,类型)的指数,如果你键入以下命令
REPLACE INTO table1 (Name,Type,InitialValue,FinalValue) VALUES ('A',3,50,90 )
并且已经存在一排名称=“A”和Type = 3,将被替换
CREATE UNIQUE INDEX idx_name_type ON table1(Name,Type)
编辑:快速说明 - 更换始终删除然后插入,所以它从来都不是一个很好的主意在重载使用它,因为它需要独占锁,当它删除,然后插入时
一些数据库引擎的有
INSERT ...对重复密钥更新...
你必须指定column-name
。
UPDATE `table` SET `Col1`='y',`Col2`='n' ... WHERE `ID`='1'
或者要更新的一个或多个的列/行:
UPDATE `table` Set Col1='Y' WHERE `ID` IN ('1','11','13')