首页 > 解决方案 > 在一列中插入多个值

问题描述

我有一个关于 SQL 的问题。我在 SQL 中创建了一个表,其中只有一列包含两个人的姓名(比如 John 和 Matt)。后来我用 ALTER TABLE 在表中添加了一个新列。此列将包含这些人的姓氏。

我的问题是,如果 mmy 表已经包含几个人,是否有一个命令可以一次输入所有人的姓氏,而不是为每个人编写一个命令,如下所示:

INSERT INTO table (Surname) VALUE (John's surname)

INSERT INTO table (Surname) VALUE (Matt's surname) ?

提前致谢

PD 我试过类似的东西: UPDATE foo set Surname=("Parker","Walker") where Name =("John","Matt") 但不起作用

标签: sql

解决方案


你想要一个update. 像这样的东西:

update t
    set surname = 'John'' surname'
    where firstname = 'John';

您可以为每个名称单独执行此操作。或者case对多个表达式使用一个表达式:

UPDATE foo
    SET Surname = (CASE WHEN Name = 'John' THEN 'Parker'
                        WHEN Name = 'Matt' THEN 'Walker'
                   END)
    WHERE Name IN ('John', 'Matt');

推荐阅读