【问题标题】:MySQL: Create table from select with engine different from source tableMySQL:使用与源表不同的引擎从选择创建表
【发布时间】:2021-03-10 12:26:53
【问题描述】:

我想将现有表数据复制到具有不同引擎的新表中:

CREATE TABLE `t_backup` (SELECT * FROM `t`) ENGINE=MyIsam;

但是提示语法错误。我知道我可以编写以下语句作为解决方法:

CREATE TABLE `t_backup` (SELECT * FROM `t1`);
ALTER TABLE `t_backup` ENGINE = MyIsam;

我只是想知道是否有一个语句可以将现有表数据复制到具有不同引擎的新表中,只需一个 SQL 语句(MySQL 或 MariaDB 变体语句也可以)。谢谢!

【问题讨论】:

  • 第一个示例on this page 回答了您的问题。顺便说一句,MyISAM 已经过时了。
  • @O.Jones 谢谢,这正是我需要的。

标签: mysql sql mariadb


【解决方案1】:

你可以使用下一个语法:

CREATE TABLE t_backup ENGINE=MyIsam AS SELECT * FROM t;

MariaDB fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-17
    • 2011-08-26
    • 2013-05-09
    • 2021-01-21
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多