You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下MariaDB需使用带引号标识符的问题求助

问题原因与解决办法

这是SQL语法的基础规则问题,直接说明:

  • 你在WHERE子句里的actryx_knowhow_bookstack、migrations是字符串字面量(要匹配的数据库名、表名),SQL要求这类值必须用单引号(')包裹。
  • 当你去掉单引号时,MariaDB会把它们当成列名解析,而information_schema.tables表根本没有叫actryx_knowhow_bookstack的列,所以触发1054未知列错误。

正确写法(必须用单引号包裹字符串值):

select * from information_schema.tables 
where table_schema = 'actryx_knowhow_bookstack' 
  and table_name = 'migrations' 
  and table_type = 'BASE TABLE';

错误写法的问题点:

select * from information_schema.tables 
where table_schema = actryx_knowhow_bookstack  -- 未加引号,被识别为列名
  and table_name = migrations  -- 同理,被识别为列名
  and table_type = 'BASE TABLE';

补充:如果要引用特殊命名的数据库/表(比如包含空格、特殊字符),才用反引号(```)包裹标识符,但你这里是匹配字符串值,和标识符引用是两回事,别搞混。

内容的提问来源于stack exchange,提问作者stustd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:20:10