gpt4 book ai didi

mysql - 为什么这个表名需要反引号?

转载 作者:行者123 更新时间:2023-11-30 23:18:21 25 4
gpt4 key购买 nike

我在下面的 MySQL 表定义中看到一个奇怪的名称依赖关系。当我如图所示对表进行编码时,它似乎破坏了 MySQL。当我从 MySQLQueryBrowser 执行“select * from dictionary_pair_join”时,状态栏显示“没有返回结果集”——没有列名,也没有错误。当我在表中插入一行时,状态栏显示“1 行受最后一个命令影响,没有返回结果集”,随后的选择给出相同的“没有返回结果集”响应。

当我在“select”语句中用反引号括起表名时,一切正常。肯定没有名为“dictionary_pair_join”的 mysql 实体!

这是表定义:

DROP TABLE IF EXISTS dictionary_pair_join;
CREATE TABLE dictionary_pair_join (
version_id int(11) UNSIGNED NOT NULL default '0',
pair_id int(11) UNSIGNED default NULL,
KEY (version_id),
KEY (pair_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这是损坏的选择语句:

select * from dictionary_pair_join;

这是它的工作对应物:

select * from `dictionary_pair_join`;

为什么选择语句中需要反引号?

更新:这在 Python mysqldb 接口(interface)中也失败了,这就是我开始研究它的原因。我可以将反引号放入我的 Python“选择”生成器中,但我希望这是一些愚蠢且易于更改的 nit。我想我也可以找到一个不同的名字。

最佳答案

我升级了 Quassnoi 和 Software Guy 的评论,他们一起说服我这只是 mysql/mysqldb/mysqlquerybrowser 中的一个错误。

我更改了表名(更改为“dictionary_pair_cons”),问题在查询浏览器和 mysqldb 中都消失了。

关于mysql - 为什么这个表名需要反引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16583312/

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