我有一个包含列的表,我们可以为表的所有行调用table_column
当前为null
的表。我想将值"test"
插入到所有行的列中。有人可以给我这个SQL吗?
我尝试了 INSERT INTO table (table_column) VALUES ("test");
,但只填充了最后一行。如何一次完成所有行?
答案 0 :(得分:69)
您正在寻找UPDATE无法插入。
UPDATE mytable
SET table_column = 'test';
UPDATE将更改现有行的值(并且可以包含WHERE以使其仅影响特定行),而INSERT则添加新行(这使得它看起来只更改了最后一行,但实际上是添加具有该值的新行。)
答案 1 :(得分:18)
这是因为在关系数据库术语中,您想要做的事情不是“插入”,而是“更新” - 您正在将现有行的字段从一个值(在您的情况下为NULL)更新为“test”
UPDATE your_table SET table_column = "test"
WHERE table_column = NULL
如果要更新100%的行,则不需要第二行。
答案 2 :(得分:2)
您实际在做的是添加行。要更新现有行的内容,请使用UPDATE语句:
UPDATE table SET table_column = 'test';
答案 3 :(得分:1)
UPDATE `table` SET table_column='test';
答案 4 :(得分:1)
您需要的SQL是:
Update table set table_column = "test";
您发布的SQL会创建一个新行,而不是更新现有行。
答案 5 :(得分:0)
要更新现有行的内容,请使用UPDATE
语句:
UPDATE table_name SET table_column = 'test';
答案 6 :(得分:0)
要创建一个新的空列,并为每行(在Toad for Oracle 中,该行都填充相同的值,此处为100):
ALTER TABLE my_table ADD new_column INT;
UPDATE my_table SET new_column = 100;