mysql - 如何在MysQL中更新同一张表中具有相同ID的记录

标签 mysql

我有一个表Table1,其中的数据如下

-------------------------------
code     value
-------------------------------
02      null
05      null
06      hi
02      hello
05      how

我想更新同一个表

-------------------------------
id     value
-------------------------------
02      hello
05      how
06      hi
02      hello
05     how

我使用了以下查询,但没有用:

update Table1 set value=value where id is null

最佳答案

您需要创建 Table1 的别名,然后将值设置为空记录,如下所示:

UPDATE Table1 t1, (
  SELECT DISTINCT id, value 
  FROM Table1 
  WHERE value IS NOT NULL AND value != ''
) t2 SET t1.value = t2.value 
WHERE t1.id = t2.id;

以上查询已经过测试并且有效。

关于mysql - 如何在MysQL中更新同一张表中具有相同ID的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45483053/

相关文章:

mysql - 阿里云RDS版(MySQL)修改白名单设置Token错误

mysql - 查询COST到底是什么?成本是指什么?

javascript - 使用Ajax、PHP上传PDF文件到MYSQL数据库

java - 数组中的重复值

mysql - 我应该在什么时候创建一个单独的表(mysql)?

php - 根据 MySQL 中 ORDER BY 的可用性考虑多列的值

mySQL:杀死除一个进程ID之外的所有进程

php - 在 PHP 中,我应该使用今天的日期函数还是 MySQL 中的 curdate()?

MySQL 变量数据库名称语法错误

mysql - mysql中如何查找表的主键