0
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 它工作正常

4

3 回答 3

1

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
于 2010-08-20T08:23:43.437 回答
1

在 SQL 中,你说

DELETE FROM

不是

DELETE * FROM

即使它是

SELECT * FROM
于 2010-08-20T08:19:19.230 回答
1
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 = '""'
于 2010-08-20T08:22:37.870 回答