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?

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;

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.