插入选择-更改值

cod*_*ret 3 php mysqli

当使用INSERT INTO SELECT将数据从一个表复制并插入到另一个表时,如何更改列的值。参见示例(下图)

如果有人可以帮助我解决这个问题,我将不胜感激!我正在尝试将数据从一个(主)表复制到另一个表,但是更新第二个表上的值。我似乎无法弄清楚这一点!谢谢! 在此处输入图片说明

码:

$sql = " INSERT INTO table2 SELECT * FROM table1 WHERE volume = 'Story of a Girl';
Run Code Online (Sandbox Code Playgroud)

smc*_*nes 6

INSERT INTO table2 (username, volume, name, image, content, cssanimate) 
    SELECT 'tim', volume, name, image, content, cssanimate 
    FROM table1 where volume='Story of a Girl';
Run Code Online (Sandbox Code Playgroud)

如果列出要插入的列,则可以用自定义值替换列。

您也可以变得更加复杂:

INSERT INTO table2 (username, volume, name, image, content, cssanimate) 
    SELECT 
        CASE 
            WHEN 'admin' THEN 'tim' 
            ELSE username 
        END CASE, 
        volume, name, image, content, cssanimate 
    FROM table1;
Run Code Online (Sandbox Code Playgroud)