MariaDB社区

标题: 问题-如果重复则添加,否则修改 [打印本页]

作者: je_ck    时间: 2010-8-3 17:04
标题: 问题-如果重复则添加,否则修改
我想检查一个记录是否在数据库中已经存在,如果存在则修改。如果不存在则添加。mysql 怎么写
作者: kider    时间: 2010-8-11 11:36
用这个:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name [(col_name,...)]
    VALUES ({expr | DEFAULT},...),(...),...
    [ ON DUPLICATE KEY UPDATE col_name=expr, ... ]

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE。例如,如果列a被定义为UNIQUE,并且包含值1,则以下两个语句具有相同的效果:
mysql> INSERT INTO table (a,b,c) VALUES (1,2,3)
    -> ON DUPLICATE KEY UPDATE c=c+1;

mysql> UPDATE table SET c=c+1 WHERE a=1;

作者: sissiyam    时间: 2011-4-12 17:16
用replace就ok啦




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2