有没有办法插入所有行等于null的数据?我知道它看起来像
select login from Users
where login is null
什么时候回来
1. null
2. null
3. null
依旧......
如何将数据填充到所有这些空行?
答案 0 :(得分:3)
要只更新一列中的空值,请执行此操作;
UPDATE TableName
SET FieldName = ISNULL(FieldName,'NewValue')
如果要在ALL为NULL时更新所有列,则可以执行类似
的操作UPDATE TableName
SET
Field1 = 'Value1'
,Field2 = 'Value2'
,Field3 = 'Value3'
WHERE
Field1 IS NULL
AND Field2 IS NULL
AND Field3 IS NULL
如果要替换表中的所有NULL值而不管整行是否为NULL,那么你可以这样做;
UPDATE TableName
SET
Field1 = ISNULL(Field1,'Value1')
,Field2 = ISNULL(Field2,'Value2')
,Field3 = ISNULL(Field3,'Value3')
如果要将值更新为每行的不同值,则需要一种将用户链接到其登录的方法。基本版本就是这样(我将其称为LookupTable)
ID Login
1 User1
2 User2
3 User3
您的查询将是这样的;
UPDATE a
SET a.login = ISNULL(a.login,b.login)
FROM TableName a
JOIN LookupTable b
ON a.id = b.id
这只会使用NULL更新值,但您可能只想set a.login = b.login
确保所有数据都正确无误。
答案 1 :(得分:1)
UPDATE Users
SET login = 'value'
WHERE login is NULL
如果当前值为NULL,这将使用值'值'更新登录列。
答案 2 :(得分:0)
假设表中的所有列都可以采用NULL
值并且没有默认值,您可以通过执行以下操作将一行添加到包含所有NULL
值的表中:
insert into t(col)
select NULL;
insert
应该至少有一个列;任何专栏都可以。