mysql5.7以前的操作是,可以正常删除数据

DELETE FROM table1 WHERE id IN (
    SELECT * FROM (
        SELECT id FROM table1 WHERE id < 30
    ) a
)

 

 

mysql5.7的操作需要微调一下,因为mysql5.7的sql优化后又会触发异常,解决方案为:子句增加一个DISTINCT

DELETE FROM table1 WHERE id IN (
    SELECT * FROM (
        SELECT DISTINCT id FROM table1 WHERE id < 30
    ) a
)

 

相关文章:

  • 2022-12-23
  • 2021-06-20
  • 2021-07-01
  • 2021-11-07
  • 2022-01-19
  • 2022-01-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-30
  • 2021-06-28
  • 2022-01-12
  • 2021-05-20
  • 2021-10-24
  • 2021-09-12
相关资源
相似解决方案