Spróbuj INSERT...SELECT
oświadczenie
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
jeśli kolumna ID
jest auto incremented
, nie trzeba określić 1
albo będzie to spowodować wystąpienie błędu.
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 to, czy chcesz tylko wstawić jedną kolumnę ze stołu student
„s, trzeba yo określić warunek, więc nie dostaniesz wiązania błąd (zakładając identyfikator kolumna jest kluczem podstawowym)
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
UPDATE 1
Widząc swój komentarz, musisz 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
trzeba usunąć kolumnę user_id
powyżej lub trzeba dodać się ID
w select w celu dopasowania liczby kolumn.
[Manual MySQL] (http://dev.mysql.com/doc/refman/5.5/en/insert-select.html) stwierdza wyraźnie, że jest to możliwe. Jednak Twoja składnia jest błędna. – Jocelyn