gpt4 book ai didi

MySQL 5.7 : LOAD DATA LOCAL INFILE "You can' t specify target table for update in FROM clause"

转载 作者:行者123 更新时间:2023-11-29 01:49:56 25 4
gpt4 key购买 nike

这与普通的“您不能在 FROM 子句中指定要更新的目标表”问题有点不同。我知道我需要创建一个临时表作为查询的一部分来解决这个问题,但我正在这样做,如下所示,但仍然收到该错误。

LOAD DATA LOCAL INFILE 'filename.csv' 
INTO TABLE campaigner.areas
CHARACTER SET latin1
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(abbr, fips_code, name)
SET area_type_id = @STATE_TYPE_ID,
description = NULL,
gnis_feature_id = NULL,
parent_id = (SELECT c.country_id FROM (SELECT country_id,country_abbr FROM campaigner.countries_v) AS c WHERE c.country_abbr = 'US'),
latitude = NULL,
longitude = NULL;

这是 countries_v 的定义,如您所见,它确实使用了 areas 表。

CREATE OR REPLACE VIEW campaigner.countries_v (country_id, country_abbr, country_name, fips_code) AS
SELECT c.country_id, ca.abbr, ca.name, ca.fips_code
FROM campaigner.countries c
LEFT JOIN campaigner.areas ca ON c.country_id = ca.area_id;

我错过了什么?

最佳答案

您正在向表 campaigner.areas 中插入数据,您也在 View 中使用该表,这就是问题所在。

关于MySQL 5.7 : LOAD DATA LOCAL INFILE "You can' t specify target table for update in FROM clause",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48427190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com