【发布时间】:2021-08-10 16:28:47
【问题描述】:
我试图使用这个语句 SELECT * INTO new_table FROM old_table 但它给了我未声明值的错误。我想创建一个从一个现有表到另一个新表的后备表。
我必须先创建另一个表吗?还是我错过了什么。
下面的链接显示可以使用相同的语句,所以我不知道为什么它对我不起作用
【问题讨论】:
-
提供完整且未更改的查询文本和错误消息文本。
我试图使用这个语句 SELECT * INTO new_table FROM old_table 但它给了我未声明值的错误。我想创建一个从一个现有表到另一个新表的后备表。
我必须先创建另一个表吗?还是我错过了什么。
下面的链接显示可以使用相同的语句,所以我不知道为什么它对我不起作用
【问题讨论】:
您应该对 MySQL 使用 INSERT ... SELECT 语句。
INSERT INTO new_table
SELECT *
FROM old_table
但new_table 必须存在。如果您的 MySQL 版本 >= 8.0.19,则可以改用以下语法:
INSERT INTO new_table TABLE old_table;
您可以查看13.2.6.1 INSERT ... SELECT Statement。
SELECT...INTO is not exactly standard,它有供应商的选择性支持。【讨论】: