Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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
Php 使用多个值在重复密钥更新时插入_Php_Mysql_Sql_Insert_Insert Update - Fatal编程技术网

Php 使用多个值在重复密钥更新时插入

Php 使用多个值在重复密钥更新时插入,php,mysql,sql,insert,insert-update,Php,Mysql,Sql,Insert,Insert Update,使用时,更新多个列而不更新某些列的语法是什么 我编写了以下查询: INSERT INTO table (id,number,text) VALUES (1,2,3),(3,5,"i want this remain the previous value and not change"),(1,2,3) ON DUPLICATE KEY UPDATE id=VALUES(id), number=VALUES(number), text=VALUES(text); 如何不更改某些值并使其保留为

使用时,更新多个列而不更新某些列的语法是什么

我编写了以下查询:

INSERT INTO table (id,number,text) VALUES (1,2,3),(3,5,"i want this remain the previous value and not change"),(1,2,3)
  ON DUPLICATE KEY UPDATE id=VALUES(id), number=VALUES(number), text=VALUES(text);

如何不更改某些值并使其保留为以前的值?

如果使用
,则使用
执行此操作:

INSERT INTO table (id,number,text) VALUES (1,2,3),(3,5,"ZZZ"),(1,2,3)
  ON DUPLICATE KEY UPDATE id=VALUES(id), number=VALUES(number), text=IF(VALUES(text)="ZZZ", text, VALUES(text));
-对于多个值,请在
中使用
,而不是
=

INSERT INTO table (id,number,text) VALUES (1,2,3),(3,5,"ZZZ"),(1,2,"YYY")
      ON DUPLICATE KEY UPDATE id=VALUES(id), number=VALUES(number), text=IF(VALUES(text) IN ("ZZZ", "YYY"), text, VALUES(text));

你能告诉我如何在
中使用
而不是
=