[英]Update field while inserting non-unique rows using Mysql
插入时,如果另一个字段的值已经存在,则需要更新给定的字段。
Eg: fieldone | fieldtwo 1 | New 2 | New 1 | Old
这里fieldone不是唯一的,并且fieldtwo的值应该被更新而fieldone的值被重复。 如果在fieldone中再次输入1,则应将fieldtwo值更新为“旧”而不是“新”。
有没有办法仅使用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”
这终于可以了:)
INSERT INTO table_name(fieldone, fieldtwo) SELECT 'valueone', IF(COUNT(fieldone)=0, 'new', 'old') FROM table_name WHERE fieldone='valueone';
希望这对某人有帮助。
谢谢大家的答复:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.