DELETE FROM Books INNER JOIN (Classes, Class_Books) ON (Books.ISBN = Class_Books.ISBN AND Class_Books.Class_ID = Classes.Class_ID AND Classes.Term_ID = 63) WHERE Year = '""'
给出错误:#1064 - 您的 SQL 语法有错误;
用 SELECT 替换 DELETE 它工作正常
DELETE FROM Books INNER JOIN (Classes, Class_Books) ON (Books.ISBN = Class_Books.ISBN AND Class_Books.Class_ID = Classes.Class_ID AND Classes.Term_ID = 63) WHERE Year = '""'
给出错误:#1064 - 您的 SQL 语法有错误;
用 SELECT 替换 DELETE 它工作正常
Try the following, which will delete records in books that have a Classes.Term_ID = 63.
DELETE b FROM Books b
INNER JOIN Class_Books cb ON b.ISBN = cb.ISBN
INNER JOIN Classes c ON cb.Class_ID = c.Class_ID
WHERE Year = '""'
AND c.Term_ID = 63
在 SQL 中,你说
DELETE FROM
不是
DELETE * FROM
即使它是
SELECT * FROM
DELETE FROM Books
WHERE ISBN IN (Select Class_Books.ISBN from Class_Books, Classes
WHERE Class_Books.Class_ID = Classes.Class_ID
AND Classes.Term_ID = 63
)
AND Year = '""'