gpt4 book ai didi

mysql - 如何在 MySQL 中通过 select 语句创建表,保留编码和数据库引擎

转载 作者:行者123 更新时间:2023-11-29 13:11:00 26 4
gpt4 key购买 nike

我有一个采用 utf8 编码并使用 innodb 的表 foo。我想创建一个表 bar ,它是 foo 的精确副本,但使用以下内容:

  CREATE TABLE bar SELECT * FROM foo;

生成重复的表,但设置为数据库的默认编码/DB 引擎(在本例中为 latin1)。有没有办法用这个语句来保留表的设置?我知道我可以执行以下操作:

 CREATE TABLE bar LIKE foo;
INSERT INTO bar SELECT * FROM foo;

只是希望有一种方法可以使用单语句快捷方式。

最佳答案

如果您希望 bar 成为 foo 的精确副本,那么您不应使用其中任何一个快捷方式。

使用CREATE TABLE ... SELECT,您不仅会丢失表的DEFAULT CHARSET,还会丢失所有索引和外键。

使用CREATE TABLE ... LIKE 保存表的DEFAULT CHARSET 和索引,但不保存外键。

关于mysql - 如何在 MySQL 中通过 select 语句创建表,保留编码和数据库引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22106137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com