gpt4 book ai didi

mysql - 无法添加或更新子行: a foreign key constraint fails

转载 作者:行者123 更新时间:2023-11-30 01:24:47 24 4
gpt4 key购买 nike

我正在尝试使用 SQL 脚本自动添加往返每个机场的时间表。这是我到目前为止的代码:

 INSERT INTO phpvms_schedules (depicao, arricao, distance)
SELECT
depart.icao,
arrive.icao,
ROUND(GreaterCircleNm(depart.lat,depart.lng,arrive.lat,arrive.lng),2) as Nm
FROM phpvms_airports AS depart
INNER JOIN phpvms_airports AS arrive ON depart.icao <> arrive.icao

GreaterCircleNm 函数:

DROP FUNCTION IF EXISTS GreaterCircleNm;
DELIMITER go
CREATE FUNCTION GreaterCircleNm( lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FLOAT ) RETURNS float
BEGIN
DECLARE pi, q1, dist FLOAT;
SET pi = PI();
SET lat1 = lat1 * pi / 180;
SET lon1 = lon1 * pi / 180;
SET lat2 = lat2 * pi / 180;
SET lon2 = lon2 * pi / 180;
SET q1 = ACOS(sin(lat1)*sin(lat2)+COS(lat1)*COS(lat2)*COS(lon1-lon2));
SET dist = q1*180*60/pi;
RETURN dist;
END;
go
DELIMITER ;

总而言之,我真的需要帮助修复此错误:

1452 - Cannot add or update a child row: a foreign key constraint fails (virtu259_phpvms.phpvms_schedules, CONSTRAINT phpvms_schedules_ibfk_1 FOREIGN KEY (code) REFERENCES phpvms_airlines (code) ON UPDATE CASCADE)

phpvms_机场:

enter image description here

phpvms_schedules:

enter image description here

最佳答案

您正在尝试将 icao 值插入 phpvms_schedules。您需要确保 FK CONSTRAINT phpvms_schedules_ibfk_1 指向 phpvms_airports 表上的 icao 列,而不是 id 列(我怀疑它当前指向的位置)。

或者

当您 FK 返回 phpvms_airports 时,您需要使用 phpvms_airports.id 值。

关于mysql - 无法添加或更新子行: a foreign key constraint fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18131267/

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