Försök med INSERT...SELECT
uttalande
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
om din kolumn ID
är auto incremented
, du behöver inte ange 1
annars kommer det att orsaka dig ett fel.
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.
En annan punkt är om du bara vill infoga en kolumn från student
s tabell måste du ange villkoret, så att du inte får ett begränsningsfel (förutsatt att ditt kolumn-ID är den primära nyckeln )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
UPPDATERING 1
När du ser din kommentar har du den här frågan
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
du måste ta bort user_id
kolumnen ovan ELLER måste du lägga till ett ID
i din select-sats för att matcha antalet kolumner.