首页 > 解决方案 > 是否可以 SHOW CREATE TABLE 包括模式名称?

问题描述

我可以SHOW CREATE TABLE用来显示创建给定表所需的 SQL:

mysql> SHOW CREATE TABLE acme.User;
CREATE TABLE `User` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  ...

是否也可以在输出中获取模式名称?喜欢:

CREATE TABLE `acme`.`User` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  ...

我尝试从另一个模式运行查询,但输出是相同的。

标签: mysql

解决方案


看起来没有办法这样做。

当然,我们可以在 之后以编程方式添加模式名称CREATE TABLE,但还有更多:外键

如果表包含外键,则输出也不包含目标表的模式,除非目标表与基表不在同一模式中。

在任何情况下,SHOW CREATE TABLE执行的当前模式都无关紧要。

我在这里编写了一些代码来处理模式名称。


推荐阅读