选择进入mysql

Man*_*ngh 72 mysql sql sql-server

我是MSSQL用户,现在我将我的数据库转换为MySQL.我在MySQL中编写以下查询:

select * into new_tbl from tbl
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

Error : Undeclared variable new_tbl
Run Code Online (Sandbox Code Playgroud)

如何在MySQL中正确编写这样的查询?

Dav*_*e K 110

使用CREATE TABLE SELECT语法.

http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

CREATE TABLE new_tbl SELECT * FROM orig_tbl;
Run Code Online (Sandbox Code Playgroud)

  • 正确的语法是:CREATE TABLE new_tbl AS SELECT * FROM orig_tbl; (3认同)

Muh*_*ani 83

在MySQL中,它应该是这样的

INSERT INTO this_table_archive (col1, col2, ..., coln)
SELECT col1, col2, ..., coln
FROM this_table
WHERE entry_date < '2011-01-01 00:00:00';
Run Code Online (Sandbox Code Playgroud)

MySQL文档

  • 细微差别.在这种情况下,表必须存在.对于`select into`,它没有.事实上,如果确实如此,我认为这是一个错误.所以这个解决方案应该以复制表模式的语句开头. (7认同)
  • 可能没有回答OP的问题,但幸运的是这正是我想要的. (5认同)