mySQL是否使用字段从一个表中删除,并与另一个表自然连接?
从takes表中,我试图删除所有注册BIOL101的Jane SELECT给了我一组正确的ID和课程ID,我只是想从takes表中删除它们。在理解正确的语法方面有困难 phpMyAdmin给了我一个错误:1093-您不能在FROM子句中为更新指定目标表'takes'mySQL是否使用字段从一个表中删除,并与另一个表自然连接?,mysql,phpmyadmin,Mysql,Phpmyadmin,从takes表中,我试图删除所有注册BIOL101的Jane SELECT给了我一组正确的ID和课程ID,我只是想从takes表中删除它们。在理解正确的语法方面有困难 phpMyAdmin给了我一个错误:1093-您不能在FROM子句中为更新指定目标表'takes' DELETE FROM `takes` WHERE ID, course_ID IN (SELECT ID, course_ID FROM `takes` natural join `student` where name = 'J
DELETE FROM `takes` WHERE ID, course_ID IN
(SELECT ID, course_ID FROM `takes` natural join `student`
where name = 'Jane' and course_ID='BIOL101')
考虑不要在中使用[ab],而是使用MySQL支持的适当的
DELETE
FROM `takes`
WHERE `ID` IN
(
SELECT ID FROM `takes`
NATURAL JOIN `student`
WHERE `name` = 'Jane` AND `course_ID` = 'BOIL101'
)
另请参见。何处ID,课程\u ID IN。。这看起来不对吗?无论如何,请参见、、和以获取删除。。连接语法-boo用于连接逻辑!
DELETE
FROM `takes`
WHERE `ID` IN
(
SELECT ID FROM `takes`
NATURAL JOIN `student`
WHERE `name` = 'Jane` AND `course_ID` = 'BOIL101'
)
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'