Bagaimana cara membuat tabel baru yang strukturnya harus sama dengan tabel lainnya
Saya mencoba
CREATE TABLE dom AS SELECT * FROM dom1 WHERE 1=2
tapi terjadi kesalahan yang tidak berfungsi
sql-server
Domnic
sumber
sumber
Jawaban:
Mencoba:
Perhatikan bahwa ini tidak akan menyalin indeks, kunci, dll.
Jika Anda ingin menyalin seluruhnya struktur, Anda perlu membuat Script Buat tabel. Anda dapat menggunakan skrip tersebut untuk membuat tabel baru dengan struktur yang sama. Anda juga dapat membuang data ke tabel baru jika perlu.
Jika Anda menggunakan Enterprise Manager, cukup klik kanan tabel dan pilih salin untuk membuat Buat Script.
sumber
Inilah yang saya gunakan untuk mengkloning struktur tabel (hanya kolom) ...
sumber
Salin struktur saja (salin semua kolom)
Salin struktur saja (salin beberapa kolom)
Salin struktur dengan data
Jika Anda sudah memiliki tabel dengan struktur yang sama dan Anda hanya ingin menyalin data, gunakan ini
sumber
Ini pasti akan berhasil
sumber
UNTUK MYSQL:
Kamu bisa memakai:
Dokumentasi di sini .
sumber
sql-server
untuk mana sintaks ini tidak valid, fyi.Mungkin juga perlu disebutkan bahwa Anda dapat melakukan hal berikut:
Klik kanan tabel yang ingin Anda duplikat > Script Tabel Sebagai > Buat Ke > Jendela Editor Kueri Baru
Kemudian, di mana dikatakan nama tabel yang baru saja Anda klik kanan di skrip yang telah dibuat, ubah namanya menjadi apa pun yang Anda inginkan agar tabel baru Anda dipanggil dan klik
Execute
sumber
coba ini .. di bawah ini salin seluruh struktur tabel yang ada tetapi bukan datanya.
jika Anda ingin menyalin data, gunakan yang di bawah ini:
sumber
Saya menggunakan proc yang disimpan berikut untuk menyalin skema tabel, termasuk PK, indeks, status partisi. Ini tidak terlalu cepat, tetapi tampaknya berhasil. Saya menyambut baik ide bagaimana mempercepatnya:
sumber
CURSOR LOCAL FAST_FORWARD
. Secara pribadi saya mencoba membuat skrip serupa tanpa menggunakan kursor dan melihat bagaimana kinerjanya.Jika Anda Ingin menyalin DatabaseBase yang Sama
Jika DatabaseBase Lain
sumber
sumber
Saya tidak tahu mengapa Anda ingin melakukan itu, tetapi coba:
Ini harus berhasil.
sumber
sumber
Ditemukan di sini apa yang saya cari. Membantu saya mengingat apa yang saya gunakan 3-4 tahun yang lalu.
Saya ingin menggunakan kembali sintaks yang sama untuk dapat membuat tabel dengan data yang dihasilkan dari gabungan tabel.
Muncul dengan kueri di bawah ini setelah beberapa upaya.
sumber
sumber
Oldtable
. Bagaimana itu dihindari?Jika Anda ingin membuat tabel dengan satu-satunya struktur yang akan disalin dari tabel asli maka Anda dapat menggunakan perintah berikut untuk melakukannya.
Dengan kondisi palsu ini, Anda dapat meninggalkan catatan dan menyalin struktur.
sumber
create table AT_QUOTE_CART as select * from QUOTE_CART where 0=1 ;
Ganti nama tab tersebut dan kita mendapatkan:create table <tablename> as select * from <sourcetablename> where 0=1 ;
Adapun klausa where,0=1
mencapai hasil yang sama seperti1>2
tidak ada data yang diambil.