gpt4 book ai didi

mysql - 带有 ALIAS 和 LIMIT 的 DELETE 语句

转载 作者:行者123 更新时间:2023-11-29 02:57:39 24 4
gpt4 key购买 nike

非常类似于this question , 只是一个干净的切口。

目标:

我需要使用带有 ALIAS 和 LIMIT 的 DELETE 语句。可选地使用 USING、WHERE 或其他任何其他解决方法,只要它有效。

案例 4、6、7、8 可能是这个问题的解决方案,但它们都返回错误。

案例 1、2、3 和 5 只是为了这个示例而显示(如果您愿意,可以填充矩阵)。

架构:

CREATE TABLE test (id int(10));
INSERT INTO test VALUES (1), (2), (3);

1) 没有别名,没有限制 - WORKS

DELETE FROM test;

2) 没有别名,限制 - WORKS

DELETE FROM test LIMIT 1;

3) 别名,没有限制 - 错误

DELETE FROM test t;

错误:您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 2 行的“t”附近使用的正确语法

4) 别名,限制(将是解决方案)- 错误

DELETE FROM test t LIMIT 1;

错误:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 2 行的“t LIMIT 1”附近使用的正确语法

5) alias+USING, 没有限制 - WORKS

DELETE FROM t USING test t;

6) alias+USING, limit (would be SOLUTION) - 错误

DELETE FROM t USING test t LIMIT 1;

错误:您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 2 行的“LIMIT 1”附近使用的正确语法

7) alias, limit, where (would be SOLUTION) - 错误

DELETE FROM test t WHERE 1=1 LIMIT 1;

错误:您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的 't WHERE 1=1 LIMIT 1' 附近使用的正确语法

8) alias+USING, limit, where (would be SOLUTION) - 错误

DELETE FROM t USING test t WHERE 1=1 LIMIT 1;

错误:您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“LIMIT 1”附近使用的正确语法

最佳答案

那这个呢:

DELETE FROM t USING test t INNER JOIN (SELECT id FROM test LIMIT 1) t2 ON t.id = t2.id

关于mysql - 带有 ALIAS 和 LIMIT 的 DELETE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28752408/

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