lur*_*ing 1 mysql sql mysql-workbench
好的,我试图生成“在 SC 和 SPR 中流行的儿童保育中心的前 5 个名称”,并且在 mySQLWorkbench 输出中我得到了“OK”而不是“xxx rows returned”。你们中的任何人都可以检查我的查询是否正确吗?
mySQLWorkbench 版本是 8.0.18
SELECT centre_service.centre_name
FROM centre_service
WHERE centre_service.centre_code = centre.centre_code AND (type_of_citizenship = "SC" OR type_of_citizenship = "SPR") AND centre_name = (
SELECT centre.centre_name
FROM centre
GROUP BY centre_name LIMIT 5
);
Run Code Online (Sandbox Code Playgroud)
此答案不会解决查询中的错误,但有助于回答有关为什么既没有看到错误也没有看到数据行的问题,以及可以采取什么措施。
MySQL Workbench 不能很好地处理所有类型的查询错误。有时它只是返回“OK”,没有任何行。例如,我已经看到过这种情况,例如非法混合排序错误。
发生这种情况时,只需在查询选项卡中发出以下命令:
show errors;
Run Code Online (Sandbox Code Playgroud)
这将返回一个或多个错误,每个错误都有一个级别、一个代码和一条消息。例如,我的查询(细节并不重要)返回“OK”,没有其他任何结果。然后show errors给了我这个:
| 等级 | 代码 | 信息 |
|---|---|---|
| 错误 | 1267 | 操作“=”时非法混合排序规则 (utf8_general_ci,IMPLICIT) 和 (utf8_unicode_ci,IMPLICIT) |
我不能肯定地说,但似乎[某些?]运行时错误容易出现此问题,而不是立即捕获的语法错误。
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |