我正在使用MySQL。我有一个名为EMP的表,现在我需要再创建一个具有相同架构,相同列和相同约束的表(EMP_TWO)。我怎样才能做到这一点?
Answers:
要基于其他表结构/约束创建新表,请使用:
CREATE TABLE new_table LIKE old_table;
跨数据复制(如果需要),使用
INSERT INTO new_table SELECT * FROM old_table;
当心关于LIKE选项的注意事项:
使用LIKE根据另一个表的定义(包括原始表中定义的任何列属性和索引)创建一个空表:
CREATE TABLE new_table类似于original_table; 使用与原始表相同的表存储格式版本创建副本。原始表具有SELECT特权。
LIKE仅适用于基表,不适用于视图。
CREATE TABLE ... LIKE不会保留为原始表指定的任何DATA DIRECTORY或INDEX DIRECTORY表选项或任何外键定义。
LIKE
在CREATE
语句中使用它。
CREATE TABLE new_db.new_table LIKE old_db.old_table
:)
你为什么不这样走
CREATE TABLE new_table LIKE Select * from Old_Table;
或者您可以通过过滤这样的数据来
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
要在新表中具有相同约束,首先必须创建架构,然后再获取用于架构创建的数据
CREATE TABLE new_table LIKE Some_other_Table;
like
和select *
?我出错了。也请检查这个答案stackoverflow.com/questions/10147565/create-table-like-a1-as-a2