Prøv INSERT...SELECT
erklæring
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
hvis din kolonne ID
er auto incremented
, du behøver ikke at angive 1
ellers vil det give dig en fejl.
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.
Et andet punkt er, hvis du kun ønsker at indsætte én kolonne fra student
s tabel, skal du angive betingelsen, så du ikke får begrænsningsfejl (forudsat at dit kolonne-id er den primære nøgle )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
OPDATERING 1
Når du ser din kommentar, har du denne forespørgsel
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 skal fjerne user_id
kolonne ovenfor ELLER du skal tilføje et ID
i din vælg-udsagn for at matche antallet af kolonner.