是否可以在ALTER TABLE上使用类似于MySQL中的CREATE TABLE的LIKE语句?
例如:‘类似db.tbl2的'CREATE表db.tbl1’
这将克隆数据库表的结构。我想修改一个具有相同列的现有表,但要选择另一个表的主键。
我在想类似于“ALTER TABLE db.tbl1 like db.tbl2”之类的东西,但这会抛出一个错误。
有什么想法吗?
谢谢
发布于 2011-07-29 22:16:18
ALTER TABLE可以做的一切都在here中解释。
正如您所看到的,没有提到从另一个表导入索引。您可能可以使用一些巧妙的information_schema查询来做到这一点,但我不认为这是值得的。
发布于 2014-04-24 15:23:47
我需要一个类似的东西,并决定使用以下过程:
ALTER TABLE tbl1 RENAME tbl1_old;
CREATE TABLE tbl1 LIKE tbl2;
INSERT INTO tbl1 SELECT * FROM tbl1_old;
DROP TABLE tbl1_old;尽管这不是一条单独的语句,但它应该可以完成工作。唯一的问题可能是不同的索引设置(唯一等)这会导致在执行原始表内容的"INSERT INTO“时出错。
发布于 2011-07-29 22:17:14
看起来是you can't。
https://stackoverflow.com/questions/6874474
复制相似问题