在SQL中,如何在现有表中添加新列后添加值?

Ram*_*ran 7 sql database

我创建了一个表并插入了3行.然后我添加了一个新列alter.如何在不使用任何空值的情况下向列添加值?

Gol*_*rol 13

两种解决方案

  1. 为列提供默认值.该值最初将用于所有现有行.确切的语法取决于您的数据库,但通常看起来像..

这个:

ALTER TABLE YourTable
ADD YourNewColumn INT NOT NULL
DEFAULT 10 
WITH VALUES;
Run Code Online (Sandbox Code Playgroud)
  1. 首先添加包含null值的列.然后更新所有行以输入所需的值.

像这样:

ALTER TABLE YourTable
ADD YourNewColumn INT NULL;

UPDATE YourTable SET YourNewColumn = 10; -- Or some more complex expression
Run Code Online (Sandbox Code Playgroud)

然后,如果需要,请更改列以使其成为not null:

ALTER TABLE YourTable ALTER COLUMN YourNewColumn NOT NULL;
Run Code Online (Sandbox Code Playgroud)