更新PostgreSQL中列中的top(1)null

更新PostgreSQL中列中的top(1)null,sql,postgresql,Sql,Postgresql,我有一张结构如下的桌子: ULI DLI others itemu1 itemd1 itemo1 itemu2 itemd2 itemo2 itemu3 NULL itemo3 itemu4 NULL NULL 我的目标是在DLI列中插入一个值,其中第一个NULL为。我尝试了以下查询的变体,但它们不起作用: "UPDATE COUNT(1) table SET 'DLI' = @DLI WHERE 'DLI' IS

我有一张结构如下的桌子:

ULI       DLI       others
itemu1    itemd1    itemo1
itemu2    itemd2    itemo2
itemu3    NULL      itemo3
itemu4    NULL      NULL
我的目标是在DLI列中插入一个值,其中第一个NULL为。我尝试了以下查询的变体,但它们不起作用:

"UPDATE COUNT(1) table SET 'DLI' = @DLI WHERE 'DLI' IS NULL;"

我总是遇到“count”的语法错误,我不确定最好的解决方法是什么。

假设您有一个主键,这就是您所说的定义“first”的顺序,您可以执行以下操作:

update t
    set dli = 'DLI'
    from (select min(pk) as minpk from t where t.dli is null) tt
    where t.pk = tt.minpk;
在您的案例中,
pk
可能是
uli

我不知道
计数(1)
在您的查询中做了什么。

SQL表表示无序集。没有任何类型的“第一”行。另外,您的表是否有主键?那么
计数(1)
应该做什么?