Saya memiliki banyak baris yang ingin saya salin, tetapi saya perlu mengubah satu bidang.
Saya dapat memilih baris yang ingin saya salin:
select * from Table where Event_ID = "120"
Sekarang saya ingin menyalin semua baris itu dan membuat baris baru sambil mengatur Event_ID
to 155
. Bagaimana saya bisa mencapai ini?
Ini adalah solusi di mana Anda memiliki banyak bidang di meja Anda dan tidak ingin mendapatkan jari kram karena mengetik semua bidang, cukup ketik yang dibutuhkan :)
Cara menyalin beberapa baris ke tabel yang sama, dengan beberapa bidang memiliki nilai yang berbeda:
Kode Anda:
Kode skenario umum:
Kode sederhana / kental:
Karena pembuatan tabel sementara menggunakan
TEMPORARY
kata kunci itu akan turun secara otomatis ketika sesi selesai (seperti yang disarankan @ ar34z).sumber
TEMPORARY
kata kunci untuk membuat tabel sementara. PenggunaanCREATE TEMPORARY TABLE
akan secara otomatis menjatuhkan tabel ketika sesi (serangkaian pertanyaan SQL) selesai. Menjatuhkan tabel tidak perlu dan tidak bertentangan dengan tabel sementara lainnya menggunakan nama yang sama. (misal ketika live hacking (yang saya tidak rekomendasikan))ALTER TABLE temporary_table MODIFY <auto_inc_not_null_field> INT;
Kemudian pembaruan kunci utama ke Null tidak akan gagal.Exception: null value in column <auto_inc_not_null_field> violates not-null constraint
. Saya mencobaALTER TABLE temporary_table ALTER COLUMN <auto_inc_not_null_field> DROP NOT NULL;
Katakanlah meja Anda memiliki dua kolom lain: foo dan bar
sumber
Jika Anda memiliki banyak kolom di tabel Anda dan tidak ingin mengetik masing-masing, Anda dapat melakukannya menggunakan tabel sementara, seperti;
sumber
Hei bagaimana cara menyalin semua bidang, ubah salah satu dari mereka dengan nilai yang sama + sesuatu yang lain.
??????????
sumber
Selama Event_ID adalah Integer, lakukan ini:
sumber