INSERT...SELECT
をお試しください ステートメント
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
列のID
の場合 auto incremented
、1
を指定する必要はありません そうしないと、エラーが発生します。
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.
もう1つのポイントは、student
から1つの列だけを挿入する場合です。 のテーブルでは、条件を指定する必要があるため、制約エラーは発生しません(列IDが主キーであると想定 )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
アップデート1
あなたのコメントを見て、あなたはこのクエリを持っています
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
削除する必要があります user_id
上記の列または追加が必要 ID
列の数と一致させるために、selectステートメントで。