繁体   English   中英

包含大写的表和视图名称全部以小写形式返回

[英]Table and view names containing UPPERCASES get returned as all lowercase

我的数据库对象的名称被标准化为pascal大小写,所以:

CREATE TABLE Users
(
    UserId INT UNSIGNED NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (UserId)
);

突然(现在是几天),以下命令创建的任何表都会生成一个表,其名称中没有任何大小写。

CREATE TABLE _Users LIKE Users;
CREATE TABLE `_Users` LIKE `Users`;

lower_case_table_names是默认的(对于Mac),因此这让我发疯,根本没有任何意义。 这里发生了什么?

这只是使用Pascal机壳的业力...;)

很久以前,MySQL中就有一个错误导致了此问题。 我本以为现在就可以解决此问题,但也许还没有。

在此处说明了该错误,最新的更新是在2014年: http//bugs.mysql.com/bug.php?id = 20356

多亏了OP,解决方案是:

CREATE TABLE __Users LIKE Users;

接着:

RENAME TABLE __Users TO _Users;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM