Essayez INSERT...SELECT
déclaration
INSERT INTO student_fees(id, name, fees)
SELECT ... -- put here the SELECT STATEMENT with condition
si votre colonne ID
est auto incremented
, vous n'avez pas à spécifier le 1
sinon cela vous causera une erreur.
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.
Un autre point est, si vous ne voulez insérer qu'une seule colonne du student
's table, vous devez spécifier la condition, de sorte que vous n'obtiendrez pas d'erreur de contrainte (en supposant que votre ID de colonne est la clé primaire )
INSERT INTO student_fees(name, fees)
SELECT `name`, '200$'
FROM students
WHERE columnName = 'blahBlah'
MISE À JOUR 1
En voyant votre commentaire, vous avez cette question
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
vous devez supprimer le user_id
colonne ci-dessus OU vous devez ajouter un ID
dans votre instruction select afin de faire correspondre le nombre de colonnes.