(MySQL)以某种方式命名了数据库默认值并且根本无法使用它,因为 MySQL 工作台认为我使用默认数据类型

Posted

技术标签:

【中文标题】(MySQL)以某种方式命名了数据库默认值并且根本无法使用它,因为 MySQL 工作台认为我使用默认数据类型【英文标题】:(MySQL) named a database default somehow and cant work with it at all because MySQL workbench thinks im using the default data tyoe 【发布时间】:2020-06-20 03:55:49 【问题描述】:

基本上听起来像 the database is named default

当我建立连接时它已经存在并且其中的表无法访问。

我已经尝试将表移动到另一个数据库,但是 mysql 不承认当我输入默认值时,我指的是数据库而不是 mysql 中的数据类型。

有什么帮助吗?我不知何故搞砸了,不知道如何解决它,也没有在网上找到类似这个问题的其他任何东西。

【问题讨论】:

【参考方案1】:

您可以使用任何SQL reserved keyword 作为标识符,但必须将它们括在反引号中:

SELECT ... FROM `default`.admin ...

如果您将表移动到另一个名称与保留关键字不冲突的模式,则会更简单。

很遗憾,MySQL 中没有 RENAME SCHEMA 语句。您必须创建一个新架构,然后重命名 TABLE 才能将它们一一移动。

CREATE SCHEMA my_awesome_schema;

RENAME TABLE `default`.admin TO my_awesome_schema.admin;
...same for other tables...

【讨论】:

以上是关于(MySQL)以某种方式命名了数据库默认值并且根本无法使用它,因为 MySQL 工作台认为我使用默认数据类型的主要内容,如果未能解决你的问题,请参考以下文章

将行恢复为默认列值mysql

如何让mysql的表名/字段名/字段值区分大小写

MySQL数据库命名规范及约定

MySQL数据库命名规范及约定

我可以以某种方式在结构中包含公式吗?

MySQL大小写敏感问题和命名规范