gpt4 book ai didi

mySQL 使用与另一张表自然连接的字段从一个表中删除?

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

DELETE FROM `takes` WHERE ID, course_ID IN
(SELECT ID, course_ID FROM `takes` natural join `student`
where name = 'Jane' and course_ID='BIOL101')

takes 表中,我试图删除所有注册 BIOL101 的 Janes。

SELECT 为我提供了正确的 ID 和 course_ID 集,我只是想从 takes 表中删除它。无法找出正确的语法。

phpMyAdmin 给我错误:“#1093 - 您不能在 FROM 子句中指定要更新的目标表‘takes’”

最佳答案

不要考虑 [ab] 使用 IN,而是使用适当的 DELETE..JOIN MySQL 确实支持。

DELETE takes
FROM takes
JOIN student s
-- The relation/schema is unclear; adapt as required
-- but MAKE SURE A RELATION IS ESTABLISHED!
ON s.student_id = takes.student_id
WHERE s.name = 'Jane'
AND takes.course_ID = 'BIOL101'

另见 this answer .

关于mySQL 使用与另一张表自然连接的字段从一个表中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23842527/

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