SQL INSERT dengan SELECT: Menyesuaikan Nilai Lajur
Selalunya, anda akan menggunakan SELECT
pernyataan dalam INSERT
pertanyaan untuk mengisi jadual dengan data. Tetapi bagaimana jika anda perlu memasukkan nilai daripada pertanyaan SELECT
sambil mengubah suai nilai lajur tertentu?
Mengubah suai Nilai Lajur Semasa Sisipan
Ini boleh dicapai dengan mudah. Katakan anda mahu memasukkan data daripada jadual courses
yang sedia ada, tetapi anda mahu mengatasi lajur gid
dengan nilai tertentu:
Pendekatan asal (tanpa penyesuaian):
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, gid FROM courses WHERE cid = $cid</code>
Sisipan tersuai:
<code class="language-sql">INSERT INTO courses (name, location, gid) SELECT name, location, 1 -- gid is now always 1 FROM courses WHERE cid = 2</code>
Seperti yang anda lihat, dengan menggantikan pilihan lajur gid
dengan nilai malar (dalam kes ini, 1
), anda mengawal terus nilai gid
untuk semua baris yang disisipkan. Hanya gantikan 1
dengan nilai yang anda inginkan dan laraskan klausa WHERE
(cid = 2
) mengikut keperluan untuk memilih baris sumber yang sesuai. Ini memberikan fleksibiliti dalam mengisi jadual anda sambil mengekalkan kawalan ke atas nilai lajur individu.
Atas ialah kandungan terperinci Bolehkah saya Menyesuaikan Nilai Lajur Semasa SQL INSERT Menggunakan SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!