插入时,如果另一个字段的值已存在,我需要更新给定字段。
例如:
现场|场二
1 |新的
2 |新的
1 |旧的
这里 fieldone 不是唯一的,当 fieldone 的值重复时,fieldtwo 值应该更新。 如果 fieldone 中再次出现 1,我们应该将 fieldtwo 值更新为“旧”而不是"new"。
有没有办法只使用Mysql来做到这一点?(不使用任何其他语言)
提前非常感谢
最佳答案
Insert into table_name values(VAL_FIELDONE ,
(SELECT CASE WHEN COUNT(VAL_FIELDONE) = 0
THEN 'NEW' ELSE 'OLD' END))
或者
Insert into table_name values(VAL_FIELDONE ,
(SELECT IF(COUNT(FIELDONE) = 0 ,'NEW','OLD') from table_name where
FIELDONE = VAL_FIELDONE))
这里 VAL_FIELDONE 是您要在 fieldone 列中插入的值,filedtwo 值将相应地是旧值或新值。如果 fieldone 是新值,则选择将返回“NEW”,否则返回“OLD”
关于mysql - 使用 Mysql 插入非唯一行时更新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28577612/