INSERT INTO特定行 - 插入特定行的特定列?

seq*_*ner 1 sql sql-server sql-server-2008 sql-update

我正在使用SQL Server 2008.我有一个表,其中每行的前三列保持固定而其他列更改.R =行,C = Col.

   C1   C2   C3   C4   C5....
R1:a    b    x    h    l 
R2:p    d    b    r    v 
R3:y    h    d    b    m
.....
Run Code Online (Sandbox Code Playgroud)

列C1,C2和C3中的数据永远不会改变.但C4,C5中的数据有时需要改变.

对于特定行,只更新cols C4,C5等的SQL查询是什么?

Joh*_*Woo 6

既然你已经提到过c1,c2并且c3不可更改,那么就把它作为特定记录的基础,

UPDATE  tableName
SET     c4 = 'newVal',
        c5 = 'newvla2'
WHERE   c1 = 'val1' AND
        c2 = 'val2' AND
        c3 = 'val3'
Run Code Online (Sandbox Code Playgroud)

  • `INSERT`语句不能有`WHERE`子句*,除非*你正在执行`INSERT INTO ... SELECT`,它可以有where子句.您需要的语句是"UPDATE",它修改现有行. (2认同)