Prova INSERT...SELECT
dichiarazione
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
se la tua colonna ID
è auto incremented
, non è necessario specificare il 1
altrimenti ti causerà un errore.
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.
Un altro punto è, se vuoi inserire solo una colonna dallo student
's table, devi specificare la condizione, in modo da non ricevere un errore di vincolo (supponendo che l'ID della tua colonna sia la chiave primaria )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
AGGIORNAMENTO 1
Vedendo il tuo commento, hai questa domanda
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
devi rimuovere il user_id
colonna sopra O è necessario aggiungere un ID
nell'estratto conto selezionato per far corrispondere il numero di colonne.