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.