gpt4 book ai didi

MySQL 错误 1443 解决方法

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

相信我的问题可以引用another question标题几乎相同,但不幸的是,答案对我来说还不够清楚,而且这个问题也有 6 年历史了,也许 MySQL 已经有了一些改变。

我想从表中删除行,甚至不从 View 表中更新/插入/删除行,据我所知,不幸的是,mysql 阻止我们对引用 View 表的表进行更改.我需要引用将我带到选项 2 和我的问题的表格:

如何“将列表转储到临时表并将其用于您的子查询”。或者是否有解决方法可以使此代码正常工作

我正在使用 MySQL 版本 5.6.12 并且我正在处理的代码:

DELETE FROM student
WHERE (SUBSTR(student.stud_no,1,4) = 1234)
AND NOT EXISTS
(SELECT vr.stud_no FROM viewroom vr WHERE
vr.stud_no = student.stud_no)
AND NOT EXISTS
(SELECT vlnr.stud_no,vlnr.status FROM viewlateststudentnr
vlnr WHERE (student.stud_no = vlnr.stud_no) AND (vlnr.status = 'confirmed') )

错误:

1443 - The definition of table 'vr' prevents operation DELETE on table 'student'.

最佳答案

显然,您的 View 必须包含要从中删除的表。这表明外部连接:

DELETE s
FROM student s LEFT JOIN
viewroom vr
ON vr.stud_no = s.stud_no LEFT JOIN
viewlateststudentnr vlnr
ON s.stud_no = vlnr.stud_no AND vlnr.status = 'confirmed'
WHERE SUBSTR(s.stud_no, 1, 4) = 1234 AND
vr.stud_no IS NULL AND vlnr.stud_no IS NULL;

关于MySQL 错误 1443 解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33133234/

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