我有一个REAL数据类型的列,我正在尝试编写一个语句来将默认值更改为4.但是,当我使用select *语句进行双重检查时,该列仍然是空的。
ALTER TABLE recipes
MODIFY NumberOfServings DEFAULT '4';
答案 0 :(得分:1)
在INSERT时使用DEFAULT值。当您未在INSERT语句中为列提供值时,它会提供要插入的默认值。
您可能希望更新表,以便将所有NULL值替换为给定值:
UPDATE recipes SET NumberOfServings=4 WHERE NumberOfServings IS NULL;
您还可以指定在QUERY时列为NULL时要使用的值。 这可以通过使用NVL功能来完成:
SELECT NVL(NumberOfServings,4) FROM recipes;
http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions105.htm
答案 1 :(得分:0)
默认值仅在您将新记录插入表格时适用。它不会更新表中的任何现有值。为什么要在引号中包含数值?