mysql - 根据现有列更新表列

标签 mysql sql

Mysql数据库: 我需要使用同一个表中的另一个字段来更新表中的字段。例子: 我的表 TABLE1 包含两个字段 FIELD1FIELD2。我需要做一些事情

UPDATE TABLE1 
SET FIELD1 = (SELECT CONCAT('xyz',`FIELD2`) FROM TABLE1)

我需要更新所有记录的字段。没有条件。 我尝试执行查询但出现错误

You can't specify target table 'TABLE1' for update in FROM clause.

有人可以告诉我该怎么做吗?

最佳答案

UPDATE TABLE1 
SET FIELD1 = concat('xyz', FIELD2)
where FIELD1 <> concat('xyz', FIELD2)

关于mysql - 根据现有列更新表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919471/

相关文章:

mysql - 无法使用外键更新/删除/截断表

mySQL 创建两个表交替行的结果集

php - 按自定义变量的 Piwik 过滤图

javascript - Mysql 在很短的时间内进行多次 INSERT

mysql - SQL Count() child Rows 基于来自 Parent 的值

php - UNION 与 UNION ALL 的性能对比

sql - MS ACCESS : selecting only one record per "person" per date 中的子查询

sql - 如何在前一行满足条件后检查组中任意行的值?

sql - 在 SQLite 中转义表名?

sql - 为多个 SQL 表创建更改历史记录的最佳解决方案