在PostgreSQL

时间:2017-05-21 02:38:05

标签: sql postgresql

我有一张包含以下结构的表格:

ULI       DLI       others
itemu1    itemd1    itemo1
itemu2    itemd2    itemo2
itemu3    NULL      itemo3
itemu4    NULL      NULL

我的目标是在第一个NULL所在的DLI列中插入一个值。我尝试了以下查询的变体,但它们不起作用:

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

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

1 个答案:

答案 0 :(得分:0)

假设您有一个主键,并且这就是您定义" 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

我不知道COUNT(1)在你的查询中做了什么。