此:
SELECT *
FROM tbl_playlists, tbl_playlistsongs
WHERE tbl_playlists.playlist_id = tbl_playlistsongs.playlist_id
AND tbl_playlists.playlist_id = 1
......没问题。但是:
DELETE from tbl_playlists, tbl_playlistsongs
WHERE tbl_playlists.playlist_id = tbl_playlistsongs.playlist_id
AND tbl_playlists.playlist_id = 1
...说我有语法错误。除了SELECT * vs DELETE之外,它们是相同的。它对我来说仍然具有完美的逻辑意义..但我必须遗漏一些东西!
答案 0 :(得分:4)
传统SQL不支持多表删除,但MySQL 支持。这意味着您使用的是MySQL特定语法:
DELETE pl, pls
FROM TBL_PLAYLISTS pl
JOIN TBL_PLAYLISTSONGS pls ON pls.playlist_id = pl.playlist_id
WHERE pl.playlist_id = 1
参考: