gpt4 book ai didi

mysql - 在 MySQL 中使用 order by 和 Limit 删除多表

转载 作者:行者123 更新时间:2023-11-29 06:38:09 25 4
gpt4 key购买 nike

当对带有 Limit 和 ORDERBY 的单个表使用 delete 语句时,它工作正常

DELETE FROM test_users_table  ORDER BY test_users_table_cname DESC
LIMIT 5

我们是否也可以使用 ORDER BY AND LIMIT 选项在多个表中实现删除..

这是我用的

  DELETE test_users_table, test_user_data_table FROM test_users_table 
JOIN test_user_data_table
ON test_users_table.table1_id = test_user_data_table.table2_userid
ORDER BY test_users_table.cname DESC
LIMIT 5

对于多表抛出错误

最佳答案

根据MySQL documentation ,这是从多个表中删除的语法:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]

另外它指出:

For the multiple-table syntax, DELETE deletes from each tbl_name the rows that satisfy the conditions. In this case, ORDER BY and LIMIT cannot be used.

因此,您可以从多个表中删除。但是,您不能在其中直接使用 LIMIT 关键字。

您的查询假定的语义是什么?该语句应该删除表 A、表 B 的前 5 个条目还是每个表的 5 个条目?此信息可能有助于重组您的查询。

关于mysql - 在 MySQL 中使用 order by 和 Limit 删除多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23183684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com