在SQL中使用SELECT COUNT查询LIMIT

Rog*_*uri 1 mysql sql phpmyadmin

我想限制一个INSERT与另一个表的行数如下:

INSERT INTO pacte (alianca_en_pacte, tipus)
SELECT id_alianca_en_pacte1 ,tipus_pacte1
FROM c_alianca
LIMIT 0, SELECT COUNT(tipus_pacte1) FROM c_alianca WHERE tipus_pacte1 IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

以下查询:

SELECT COUNT(tipus_pacte1) FROM c_alianca WHERE tipus_pacte1 IS NOT NULL
Run Code Online (Sandbox Code Playgroud)

返回4

运行脚本时,出现以下错误:

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第4行的"SELECT*FROM c_alianca"附近使用正确的语法

Nes*_*zon 5

为什么不查询您的标准并插入这样的标准?

INSERT INTO pacte (alianca_en_pacte, tipus)
SELECT id_alianca_en_pacte1 ,tipus_pacte1
FROM c_alianca
WHERE tipus_pacte1 IS NOT NULL
Run Code Online (Sandbox Code Playgroud)