更新或删除的行值不能使行唯一,或者它们会更改多行

时间:2018-10-17 03:33:20

标签: sql-server tsql ssms

data文件中的excel插入到sql server后,出现了此错误。根据excel上的数据,由SSMS自动创建的表以所有字段的7行null值结尾。

错误是

  

更新或删除的行值都不会使该行唯一   或者他们改变了多行(7行)

这很有趣,因为当我在stackoverflow中搜索时得到了answer,但它对我没有帮助,因为我的表上只有7个所需的行,null个值删除。

我在T-sql下面使用,但是它不影响任何行,

Delete top(1) from [tableName] where [columnName]= NULL

Delete top(1) from [tableName] where [columnName]= 'NULL'

非常感谢您帮助删除这7行。

1 个答案:

答案 0 :(得分:1)

我的猜测是SQL Server希望您使用ORDER BY子句:

WITH cte AS (
    SELECT TOP 1 *
    FROM [tableName]
    WHERE [columnName] IS NULL
    ORDER BY some_col
)

DELETE FROM cte;

请注意,NULL条支票必须使用IS NULLIS NOT NULL。对NULL的平等检查的定义不明确。