有没有办法只导入数据库 table 模式
Is there any way to import database table schema only
我有两个数据库。现在我试图将所有 table 模式仅从第一个数据库导入到第二个数据库。我已经使用 phpmyadmin 从第一个数据库中导出了所有 table 结构。但是我无法在第二个数据库中导入 table 结构。 phpmyadmin 说
#1050 - Table 'XXXXXX' already exists
如何只正确导入 table 结构?
注意:两个数据库具有相同的 table 并且所有 table 具有相同的结构。我在第一个数据库中更改了一些我现在不记得的 table 结构。现在我只需要合并两个 table 结构。此外,两个数据库都包含不同的数据集,我不能承受两个数据库的任何数据丢失。
在执行任何命令之前,我建议您对数据库进行完整备份,否则您可能会失眠几天。
使用ALTER
命令
使用ALTER
命令修改table结构。这里的 sql 将 age not nullable age 字段添加到 users table.
ALTER TABLE users ADD age int(11) not null
重新创建table
我不推荐这种方法,因为你会丢失数据。删除旧 table 然后使用新模式创建。
DROP TABLE mytable;
CREATE TABLE mytable (
...
);
或者,如果您想保留数据,您可以:
- 将 table 复制或重命名为不同的名称。
- 使用新架构创建新 table。
- 从旧 table 复制数据:
INSERT INTO newtable SELECT * FROM oldtable
重命名 tables 可能会导致关系问题。我建议尽可能多地使用 ALTER
命令。您还可以查看 scheme migration(又名:代码优先迁移、数据库迁移)。
主要问题是合并表格。为了识别这两个表之间的差异,我使用了一个名为 SQL Power Architect.
的小软件
我有两个数据库。现在我试图将所有 table 模式仅从第一个数据库导入到第二个数据库。我已经使用 phpmyadmin 从第一个数据库中导出了所有 table 结构。但是我无法在第二个数据库中导入 table 结构。 phpmyadmin 说
#1050 - Table 'XXXXXX' already exists
如何只正确导入 table 结构?
注意:两个数据库具有相同的 table 并且所有 table 具有相同的结构。我在第一个数据库中更改了一些我现在不记得的 table 结构。现在我只需要合并两个 table 结构。此外,两个数据库都包含不同的数据集,我不能承受两个数据库的任何数据丢失。
在执行任何命令之前,我建议您对数据库进行完整备份,否则您可能会失眠几天。
使用ALTER
命令
使用ALTER
命令修改table结构。这里的 sql 将 age not nullable age 字段添加到 users table.
ALTER TABLE users ADD age int(11) not null
重新创建table
我不推荐这种方法,因为你会丢失数据。删除旧 table 然后使用新模式创建。
DROP TABLE mytable;
CREATE TABLE mytable (
...
);
或者,如果您想保留数据,您可以:
- 将 table 复制或重命名为不同的名称。
- 使用新架构创建新 table。
- 从旧 table 复制数据:
INSERT INTO newtable SELECT * FROM oldtable
重命名 tables 可能会导致关系问题。我建议尽可能多地使用 ALTER
命令。您还可以查看 scheme migration(又名:代码优先迁移、数据库迁移)。
主要问题是合并表格。为了识别这两个表之间的差异,我使用了一个名为 SQL Power Architect.
的小软件