Mysql
 sql >> Base de données >  >> RDS >> Mysql

INSERT INTO avec la sous-requête MySQL

Utilisez des littéraux numériques avec des alias dans un SELECT déclaration. Pas de () sont nécessaires autour du SELECT composant.

INSERT INTO qa_costpriceslog (item_code, invoice_code, item_costprice)
  SELECT
    /* Literal number values with column aliases */
    1 AS item_code,
    2 AS invoice_code,
    item_costprice
  FROM qa_items 
  WHERE item_code = 1;

Notez que dans le contexte d'un INSERT INTO...SELECT , les alias ne sont pas réellement nécessaires et vous pouvez simplement SELECT 1, 2, item_costprice , mais dans un SELECT normal vous aurez besoin des alias pour accéder aux colonnes renvoyées.