MYSQL 从一个 table 的结构中复制字段并将它们添加到另一个 table 中
MYSQL copy fields from one table's structure and add them to another tables
我在数据库中为 table 添加了一些额外的字段。现在我需要在其他几个 table 中有这个额外的字段。所以问题是——我能以某种方式从源 table 复制这些字段并将它们添加到另一个 table 吗? mysql 控制台和 phpmyadmin 变体都不错。谢谢!
phpmyadmin 的一个变体是仅导出 table 的结构(导出->自定义->选择 "Structure")。之后,您将在导出的 SQL 文件中得到类似这样的内容:
CREATE TABLE `table` (
`id` int(10) NOT NULL,
`name` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
此时,您可以继续删除查询的最后一行和 CREATE TABLE 之后的括号。然后,继续替换 [other_table] 名称并更改查询以匹配以下内容:
ALTER TABLE `[other_table]`
ADD `id` int(10) NOT NULL,
ADD `name` varchar(50) DEFAULT NULL;
注意我所做的只是将 CREATE 更改为 ALTER 并在每个之前添加 ADD场.
注意:这在这样一个简单的例子中不是很有用,但在处理大量列时,它可能会有点用处。
我在数据库中为 table 添加了一些额外的字段。现在我需要在其他几个 table 中有这个额外的字段。所以问题是——我能以某种方式从源 table 复制这些字段并将它们添加到另一个 table 吗? mysql 控制台和 phpmyadmin 变体都不错。谢谢!
phpmyadmin 的一个变体是仅导出 table 的结构(导出->自定义->选择 "Structure")。之后,您将在导出的 SQL 文件中得到类似这样的内容:
CREATE TABLE `table` (
`id` int(10) NOT NULL,
`name` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
此时,您可以继续删除查询的最后一行和 CREATE TABLE 之后的括号。然后,继续替换 [other_table] 名称并更改查询以匹配以下内容:
ALTER TABLE `[other_table]`
ADD `id` int(10) NOT NULL,
ADD `name` varchar(50) DEFAULT NULL;
注意我所做的只是将 CREATE 更改为 ALTER 并在每个之前添加 ADD场.
注意:这在这样一个简单的例子中不是很有用,但在处理大量列时,它可能会有点用处。