Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 替换为保留一个值_Mysql - Fatal编程技术网

Mysql 替换为保留一个值

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

我想在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?);

但是我如何准确地保持日期值呢

insert ignore
如果有任何重复,将跳过插入

如果需要更新某些字段,
你能行

insert into some_table values (...)
on duplicate update email=?;

简单的回答,你不能这样安排日期。从

所有列的值均取自中指定的值 替换语句。任何缺少的列都将设置为默认列 值,就像INSERT一样您不能从中引用值 当前行并在新行中使用它们


也许你想改为使用。

是否有理由需要使用
REPLACE
而不是
UPDATE
date
的初始值应该是多少?@luqita:其实并不重要。但我想替换email字段。@luqita这就是查询的目的,如果主键已经存在,它将只更新存在类似问题的电子邮件字段。需要更新一些字段,保持一些字段不变,同时插入select查询中的新行。该语法帮助
在重复键更新计数=temp1.count时插入tableName(…)(选择…)