Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memasukkan Data dengan Nilai Lalai Menggunakan Pernyataan SELECT Bersarang dalam MySQL?

Bagaimana untuk Memasukkan Data dengan Nilai Lalai Menggunakan Pernyataan SELECT Bersarang dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2024-12-05 19:13:10403semak imbas

How to Insert Data with Default Values Using Nested SELECT Statements in MySQL?

Memasukkan Data dengan Nilai Lalai Menggunakan Nested SELECT

Memasukkan data ke dalam jadual MySQL daripada jadual lain sambil memberikan nilai lalai kepada lajur tertentu boleh dicapai menggunakan pernyataan SELECT bersarang.

Dalam pertanyaan yang disediakan, yang pertama menghadapi ralat kerana senarai lajur dalam pernyataan INSERT utama tidak sepadan dengan bilangan lajur yang dikembalikan oleh subkueri. Yang kedua menjana ralat ketidakpadanan kiraan lajur kerana penyataan INSERT utama menentukan empat lajur, manakala klausa VALUES() hanya menyediakan tiga nilai.

Untuk membetulkan isu ini, gunakan sintaks berikut:

INSERT INTO def (catid, title, page, publish) 
SELECT catid, title, 'page','yes' from `abc`

Dalam pertanyaan yang diubah suai ini:

  • Pernyataan INSERT utama menentukan lajur ke dalamnya data akan dimasukkan.
  • Subkueri mendapatkan semula data daripada jadual 'abc' dan memilih lajur 'catid' dan 'title'.
  • Lajur 'halaman' dan 'terbitkan' dalam pernyataan INSERT utama diberikan nilai lalai 'halaman' dan 'ya', masing-masing.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Data dengan Nilai Lalai Menggunakan Pernyataan SELECT Bersarang dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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