Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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_Sql Update - Fatal编程技术网

Mysql 将一个字段更新为同一表中的其他字段

Mysql 将一个字段更新为同一表中的其他字段,mysql,sql-update,Mysql,Sql Update,我有一个名为Users的表。 我从其他表导入了一些用户。 他们有父母的身份证 我的桌子现在坏了 id,parent_id,imported_rows_id 1,1,NULL ->my old data has not last row value 2,1,Null ->my old data has not last row value 3,1,1100 4,1100,1101 5,1100,1102 6,1102,1103 现在,我想将所有父\u id更改为导入的\

我有一个名为Users的表。 我从其他表导入了一些用户。 他们有父母的身份证

我的桌子现在坏了

id,parent_id,imported_rows_id

1,1,NULL ->my old data has not last row value

2,1,Null ->my old data has not last row value


3,1,1100

4,1100,1101

5,1100,1102

6,1102,1103
现在,我想将所有父\u id更改为导入的\u行\u id=父\u id的id 同上:

3,1,1100

4,3,1101

5,3,1102

6,5,1103

update users set parent_id  = (select id from users where parent_id=imported_rows_id)
不允许放在同一张桌子上


真诚地

您可以通过自助加入来实现:

update TableName t1 join
       TableName t2 on t1.imported_rows_id=t2.parent_id
set t2.parent_id=t1.id
where t2.imported_rows_id is not null
结果:

id  parent_id   imported_rows_id
--------------------------------
1   1           (null)
2   1           (null)
3   1           1100
4   3           1101
5   3           1102
6   5           1103

结果

您必须在联接中为第一个表别名。在错误浏览所有数据之前,请确保有一个外部where子句谢谢您的解决方案