Coba INSERT...SELECT
pernyataan
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
jika kolom Anda ID
adalah auto incremented
, Anda tidak perlu menentukan 1
atau itu akan menyebabkan Anda error.
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students -- this will select all students on the table
-- and add $200 on thier fees.
Poin lainnya adalah, jika Anda hanya ingin menyisipkan satu kolom dari student
tabel, Anda perlu menentukan kondisinya, sehingga Anda tidak akan mendapatkan kesalahan kendala (dengan asumsi ID kolom Anda adalah Kunci Utama )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
PERBARUI 1
Melihat komentar Anda, Anda memiliki pertanyaan ini
INSERT INTO coupon_allotment (page_id, offer_id, coupon_code, user_id)
SELECT page_id, 4, 'ABC' -- number of columns mismatch, right?
FROM pages_discounts_association
WHERE discount_id = 4
Anda perlu menghapus user_id
kolom di atas ATAU Anda perlu menambahkan sebuah ID
dalam pernyataan pilih Anda untuk mencocokkan jumlah kolom.