Rumah > pangkalan data > tutorial mysql > Bolehkah saya INSERT ke dalam jadual dengan SELECT, memberikan nilai yang berbeza kepada satu lajur?

Bolehkah saya INSERT ke dalam jadual dengan SELECT, memberikan nilai yang berbeza kepada satu lajur?

Linda Hamilton
Lepaskan: 2025-01-18 19:46:11
asal
114 orang telah melayarinya

Can I INSERT into a table with SELECT, assigning a different value to one column?

Menggabungkan INSERT dan SELECT dengan Nilai Lajur yang Diubah Suai

Contoh ini menunjukkan cara untuk memasukkan data ke dalam jadual courses menggunakan penyataan SELECT, sambil memberikan nilai khusus pada lajur gid secara serentak, tanpa mengira nilai yang diambil daripada jadual sumber.

Pertanyaan asal cuba menyalin data daripada jadual courses:

<code class="language-sql">INSERT INTO courses (name, location, gid) 
SELECT name, location, gid 
FROM courses 
WHERE cid = $cid</code>
Salin selepas log masuk

Persoalannya ialah sama ada kita boleh mengubah suai nilai gid semasa proses penyisipan.

Penyelesaian

Ya, ini boleh dicapai. Kuncinya ialah menggantikan lajur gid dalam pernyataan SELECT dengan nilai malar atau ungkapan yang berbeza. Pertanyaan berikut menggambarkan ini:

<code class="language-sql">INSERT INTO courses (name, location, gid)
SELECT name, location, 1  -- '1' is the new gid value
FROM   courses
WHERE  cid = 2  -- Example condition; replace '2' with your desired cid</code>
Salin selepas log masuk

Dalam pertanyaan yang diubah suai ini, lajur gid dalam pernyataan INSERT akan sentiasa menerima nilai 1, tanpa mengira nilai gid dalam baris yang dipilih daripada jadual courses. Anda boleh menggantikan 1 dengan sebarang pemalar atau ungkapan yang sesuai yang menghasilkan nilai yang serasi dengan jenis data lajur gid. Klausa WHERE menapis data sumber, memastikan hanya baris yang berkaitan digunakan untuk sisipan.

Atas ialah kandungan terperinci Bolehkah saya INSERT ke dalam jadual dengan SELECT, memberikan nilai yang berbeza kepada satu lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan