update test t1 set t1.willage_name=(select ward_name from test t2 where t2.ward_code=substr(t1.ward_code,1,9)) where length(t1.ward_code)=12;
update test t1 set t1.willage_name=(select ward_name from test t2 where t2.ward_code=substr(t1.ward_code,1,9)) where length(t1.ward_code)=12;这个不对啊 我也是这么写的[SQL] UPDATE city_village_code t1 SET t1.village_name = ( SELECT ward_name FROM city_village_code t2 WHERE t2.ward_code = substr(t1.ward_code, 1, 9) ) WHERE length(t1.ward_code) = 12; [Err] 1093 - You can't specify target table 't1' for update in FROM clause报这个错误啊 是同一张表的字段
update test t1 set t1.willage_name=(select ward_name from test t2 where t2.ward_code=substr(t1.ward_code,1,9)) where length(t1.ward_code)=12;这个不对啊 我也是这么写的[SQL] UPDATE city_village_code t1 SET t1.village_name = ( SELECT ward_name FROM city_village_code t2 WHERE t2.ward_code = substr(t1.ward_code, 1, 9) ) WHERE length(t1.ward_code) = 12; [Err] 1093 - You can't specify target table 't1' for update in FROM clause报这个错误啊 是同一张表的字段 我在我的机子上试过是可以的,请问你的是ORACLE数据库吗?
UPDATE city_village_code t1 SET village_name = ( SELECT ward_name FROM city_village_code WHERE ward_code = substr(t1.ward_code, 1, 9) ) WHERE length(t1.ward_code) = 12;
SET t1.village_name = (
SELECT
ward_name
FROM
city_village_code t2
WHERE
t2.ward_code = substr(t1.ward_code, 1, 9)
)
WHERE
length(t1.ward_code) = 12;
[Err] 1093 - You can't specify target table 't1' for update in FROM clause报这个错误啊 是同一张表的字段
SET t1.village_name = (
SELECT
ward_name
FROM
city_village_code t2
WHERE
t2.ward_code = substr(t1.ward_code, 1, 9)
)
WHERE
length(t1.ward_code) = 12;
[Err] 1093 - You can't specify target table 't1' for update in FROM clause报这个错误啊 是同一张表的字段
我在我的机子上试过是可以的,请问你的是ORACLE数据库吗?
SET village_name = (
SELECT
ward_name
FROM
city_village_code WHERE
ward_code = substr(t1.ward_code, 1, 9)
)
WHERE
length(t1.ward_code) = 12;