pilih ke dalam mysql

87

Saya adalah pengguna MSSQL dan sekarang saya mengubah database saya ke MySQL. Saya menulis kueri berikut di MySQL:

select * into new_tbl from tbl

Dan saya mendapatkan kesalahan berikut

Error : Undeclared variable new_tbl

Bagaimana kueri seperti itu harus ditulis dengan benar di MySQL?

Mandeep Singh
sumber

Jawaban:

130

Gunakan sintaks CREATE TABLE SELECT.

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

CREATE TABLE new_tbl SELECT * FROM orig_tbl;
Dave K
sumber
Perintah SELECT INTO membuat tabel baru dan dapat disalin data dari satu database ke database lain sebagai
Shankar Regmi
3
Sintaks yang benar adalah: CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
csname1910
BUAT ... PILIH berfungsi, ini harus menjadi jawaban yang diterima. Kata kunci "AS" tampaknya opsional, dan SELECT INTO tidak berfungsi dengan MySQL.
leo
Penekanan bahwa itu tidak membuat indeks!
Ivan Ivković
89

Di MySQL, seharusnya seperti ini

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

Dokumentasi MySQL

MuhammadHani
sumber
8
Perbedaan halus. Dalam hal ini tabel harus ada. Sebab select into, tidak. Faktanya, saya pikir itu adalah kesalahan jika ya. Jadi solusi ini harus diawali dengan pernyataan yang menduplikasi skema tabel.
paxdiablo
Seperti yang dikatakan paxdiablo, ini membutuhkan tabel yang Anda masukkan sudah ada. Sintaks MSSQL yang digunakan OP untuk membuat tabel untuk Anda.
Dave K
7
Mungkin tidak menjawab pertanyaan OP tapi untungnya inilah yang saya cari.
garyh