sql >> Databáze >  >> RDS >> Mysql

je možné vložit na základě výběru jednoho ze sloupců v MySQL?

Zkuste INSERT...SELECT prohlášení

INSERT INTO student_fees(id, name, fees) 
SELECT ... -- put here the SELECT STATEMENT with condition

pokud váš sloupec ID je auto incremented , nemusíte zadávat 1 jinak vám to způsobí chybu.

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.

Dalším bodem je, pokud chcete vložit pouze jeden sloupec z student v tabulce 's, musíte zadat podmínku, aby nedošlo k chybě omezení (za předpokladu, že ID sloupce je primární klíč )

INSERT INTO student_fees(name, fees) 
SELECT `name`, '200$' 
FROM   students
WHERE  columnName = 'blahBlah'

AKTUALIZACE 1

Když vidíte svůj komentář, máte tento dotaz

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

musíte odstranit user_id sloupec nad NEBO musíte přidat ID ve vašem příkazu select, aby odpovídal počtu sloupců.



  1. Jak přiřadím celý den k poli datum a čas?

  2. sqlalchemy více cizích klíčů do stejné tabulky

  3. Překlenutí mezery v Azure:Spravované instance

  4. MySQL:Rozlišuje se v příkazu SELECT velká a malá písmena?