Mysql 替换为保留一个值
我想在cust_id是主键的表中替换,但不想修改日期字段。因此,此表上的正常插入将如下所示:Mysql 替换为保留一个值,mysql,Mysql,我想在cust_id是主键的表中替换,但不想修改日期字段。因此,此表上的正常插入将如下所示: REPLACE INTO emails(cust_id, email, date) VALUES(55, 'email@email.com', '2011-08-07 00:00'); 现在,不必修改日期字段,它将是如下内容: REPLACE INTO emails(cust_id, email, date) VALUES(55, 'email@email.com', date.value
REPLACE INTO emails(cust_id, email, date)
VALUES(55, 'email@email.com', '2011-08-07 00:00');
现在,不必修改日期字段,它将是如下内容:
REPLACE INTO emails(cust_id, email, date)
VALUES(55, 'email@email.com', date.value?);
但是我如何准确地保持日期值呢
insert ignore
如果有任何重复,将跳过插入
如果需要更新某些字段,你能行
insert into some_table values (...)
on duplicate update email=?;
简单的回答,你不能这样安排日期。从 所有列的值均取自中指定的值 替换语句。任何缺少的列都将设置为默认列 值,就像INSERT一样您不能从中引用值 当前行并在新行中使用它们
也许你想改为使用。是否有理由需要使用
REPLACE
而不是UPDATE
?date
的初始值应该是多少?@luqita:其实并不重要。但我想替换email字段。@luqita这就是查询的目的,如果主键已经存在,它将只更新存在类似问题的电子邮件字段。需要更新一些字段,保持一些字段不变,同时插入select查询中的新行。该语法帮助在重复键更新计数=temp1.count时插入tableName(…)(选择…)代码>