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

Insérer DANS MySQL À PARTIR d'une autre table

Puisque vous sélectionnez dans une table, vous voudrez utiliser un INSERT INTO SELECT FROM requête :

INSERT INTO campaign_ledger 
(
    `campaign_id`
    , `description`
    , amount
    , balance
    , timestamp
)
SELECT 
    id as campaign_id
    , 'Ported from campaigns' as description
    , budget_remaining as amount 
    , budget_remaining as balance
    , NOW() as timestamp 
FROM campaigns

Utilisez uniquement INSERT INTO VALUES lorsque vous utilisez des valeurs spécifiques et que vous ne sélectionnez pas dans une table. Si vous vouliez utiliser INSERT INTO VALUES alors votre requête ressemblerait à ceci :

INSERT INTO campaign_ledger 
(
    `campaign_id`
    , `description`
    , amount
    , balance
    , timestamp
)
VALUES
(
    1
    , 'test'
    , 100.00
    , 1000.00
    , NOW()
)