You can't specify target table for update in FROM clause原因:
先查询了那个表,然后又删除掉了。
delete from Books where book_id in
(select book_id from Books group by book_id having count(book_id) > 1);
改写为:
delete from Books where book_id in (select a.book_id from
(select book_id from Books group by book_id having count(book_id) > 1)a);