Wypróbuj INSERT...SELECT
oświadczenie
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
jeśli Twoja kolumna ID
jest auto incremented
, nie musisz określać 1
w przeciwnym razie spowoduje to błąd.
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.
Inną kwestią jest, jeśli chcesz wstawić tylko jedną kolumnę od student
tabeli, musisz określić warunek, aby nie otrzymać błędu ograniczenia (zakładając, że identyfikator kolumny jest kluczem podstawowym )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
AKTUALIZACJA 1
Widząc Twój komentarz, masz to zapytanie
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
musisz usunąć user_id
kolumna powyżej LUB musisz dodać ID
w wyciągu select, aby dopasować liczbę kolumn.