报错了 SELECT * FROM yg_dm_calltask ORDER BY F_CreatorTime DESC LIMIT (SELECT COUNT(*) FROM base_dictionarydata) > 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT COUNT(*) FROM base_dictionarydata)' at line 1 > 时间: 0s
时间: 2023-07-02 21:10:47 浏览: 57
这个报错的原因是你在使用 LIMIT 关键字时,传递了一个逻辑表达式作为参数,而这是不被允许的。
你可以将逻辑表达式拆分成两个单独的查询,一个查询用于获取 COUNT(*),另一个查询用于获取数据行,并将 COUNT(*) 的结果作为 LIMIT 参数传递给第二个查询。例如:
```
SELECT COUNT(*) FROM base_dictionarydata;
SELECT * FROM yg_dm_calltask ORDER BY F_CreatorTime DESC LIMIT 1064;
```
这里,第一个查询将返回一个数字,即数据表 base_dictionarydata 中的行数。你可以将这个数字作为 LIMIT 参数传递给第二个查询,以获取前 1064 条数据行。
相关问题
帮我修改sql SELECT * FROM `yg_dm_calltask` ORDER BY F_CreatorTime desc LIMIT (SELECT count(1) FROM base_dictionarydata )
你的 SQL 语句有语法错误,应该先查询 `base_dictionarydata` 表中的记录数,然后将其作为 LIMIT 子句的参数。可以尝试以下 SQL 语句:
```
SELECT * FROM yg_dm_calltask ORDER BY F_CreatorTime DESC LIMIT (SELECT COUNT(*) FROM base_dictionarydata)
```
上述 SQL 语句将会根据 `F_CreatorTime` 字段倒序排序,然后返回 `base_dictionarydata` 表中的记录数条记录。注意,如果 `base_dictionarydata` 表中没有任何记录,则不会返回任何结果。
INSERT INTO yq_sbcrk_qd_copy ( F_CreatorUserId, F_CreatorTime, org_code, djh, rkzl, gslb, gmsj, rcksj, rck, qdid ) SELECT F_CreatorUserId, F_CreatorTime, org_code, sb_djh, sb_rkzl, sb_gslb, sb_gmsj, sb_rksj, '入库', F_Id FROM yq_sb_rk WHERE yq_sbcrk_qd_copy.qdid = yq_sb_rk.F_Id AND yq_sb_rk.F_Id = '428513248992565445'这个SQL有错误吗
这个SQL语句有错误。正确的语句应该是:
INSERT INTO yq_sbcrk_qd_copy (F_CreatorUserId, F_CreatorTime, org_code, djh, rkzl, gslb, gmsj, rcksj, rck, qdid)
SELECT F_CreatorUserId, F_CreatorTime, org_code, sb_djh, sb_rkzl, sb_gslb, sb_gmsj, sb_rksj, '入库', F_Id
FROM yq_sb_rk
WHERE F_Id = '428513248992565445' AND F_Id NOT IN (SELECT qdid FROM yq_sbcrk_qd_copy);
这个SQL语句的意思是:将yq_sb_rk表中F_Id='428513248992565445'的记录插入到yq_sbcrk_qd_copy表中,并将rck字段设置为'入库'。同时,确保yq_sb_rk表中的F_Id字段与yq_sbcrk_qd_copy表中的qdid字段不重复,以避免重复插入。
注意,这里使用了一个子查询来确保不重复插入。这个子查询返回yq_sbcrk_qd_copy表中所有的qdid值,如果yq_sb_rk表中的F_Id也在这些值中,则不会插入。这样可以避免重复插入相同的记录。