runways
数据库,其中包含 4 个表:airports
、airport_schedules
、runway
、firefighting_aircraft
.airports
airport_schedules
firefighting_aircraft
我开始尝试使用 here 提供的模板这样做。跟随它之后,我运行了这个命令:
UPDATE
runway
INNER JOIN airports ON runway.Dep_Airport_ID = airports.Dep_Airport_ID
SET
runway.Facility_Type = airports.Facility_Type;
但是,我不断收到这样的错误:
Error Code: 1205. Lock wait timeout exceeded;尝试重启交易
或者这个:
错误代码:2013。在查询 30.000 秒期间丢失与 MySQL 服务器的连接
所以,我调整了我的偏好,然后再次点击运行,但是我等了一个多小时才这样做,但我取消了操作,因为不可能花费那么长时间!
之后,我尝试以 3 种不同的方式使用本 教程 中提供的模板。 第一种方式:
ALTER TABLE runway ADD COLUMN Facility_Type TEXT;
INSERT INTO runway ( Facility_Type )
SELECT
Facility_Type
FROM
airports;
结果:
17:49:43 ALTER TABLE runway ADD COLUMN Facility_Type TEXT 0 row(s) affected Records: 0 Duplicates: 0 Warnings: 0 0.031 sec 17:50:02 INSERT INTO runway (Facility_Type) SELECT Facility_Type FROM airports 19928 row(s) affected Records: 19928 Duplicates: 0 Warnings: 0 0.391 sec
但是当我从跑道上运行一个选定的设施类型时,我会得到所有-
NULL
s。
第二种方式:
ALTER TABLE runway ADD COLUMN Facility_Type TEXT;
INSERT INTO runway (Facility_Type)
SELECT
Facility_Type
FROM
airports
WHERE
runway.Dep_Airport_ID = airports.Dep_Airport_ID;
第三种方式:
INSERT INTO runway (Facility_Type)
SELECT Facility_Type FROM airports;
第四种方式:
INSERT INTO runway (Facility_Type)
SELECT
Facility_Type
FROM
airports
WHERE
runway.Dep_Airport_ID = airports.Dep_Airport_ID;
然后,我回到原来的解决方案并开始使用以下变体修改它:
UPDATE
runway
SET
runway.Facility_Type = airports.Facility_Type
导致:
错误代码:1054。“
”中的未知列“airports.Facility_Type
”field list
然后:
UPDATE
runway
SET
runway.Facility_Type = airports.Facility_Type
WHERE
runway.Dep_Airport_ID = airports.Dep_Airport_ID
结果是:
错误代码:1054。“where 子句”中的未知列“airports.Dep_Airport_ID”
我越来越迷糊了,现在是当地时间凌晨 4 点 13 分,所以我想我暂时先休息一下。