回答

收藏

SQL Server如何只更新数据库中的一行?

技术问答 技术问答 209 人阅读 | 0 人回复 | 2023-09-14

如何只更新数据库上的一条记录?- V# c  S' D4 o- v6 P4 H
桌子:
( m+ D0 y' K1 F6 o- [( Bname       name1       name2
2 z$ F6 Y! S: }+ }4 F" Y) o----------------------------
' v# }; y, B+ J7 r- M) b6 wxx         xy          xz( H. w# e- Z5 K) S- }6 z: k, @
xx         xx          xx, q7 W1 [8 }4 D( R! H
xx         xx          xx1 {4 s' n# |2 i; Z" u, w
xx         xx          xx
* g- _" D1 Q* `& Xxy         xx          zz
8 i) W7 d( o6 c6 J' X1 @更新查询:: i" E9 B) @3 r4 ?4 o1 C5 ]
UPDATE table1
9 f; f9 N$ q( ^1 R6 Z  aSET name2 = '01'
, c& G; V. {: l4 \3 Z/ GWHERE name1='xx'" [& o( [$ F. e4 k* l
但是我每次只需要更新一行& |0 w% O) i3 |1 z5 {4 U
               
$ N5 L& s6 \/ @1 p# V8 z+ u4 b解决方案:
) ?2 L1 G; r0 g6 k; ~4 P7 H               
/ P: o4 d4 V" l# R) N$ d
! O8 t: v, M$ S6 e4 M
1 ^  A/ Y/ r: |# l                您可以使用ROWCOUNT
8 P/ }; h& F0 v- j) X* H: aSET ROWCOUNT 1
/ _# Z2 D% m" }: n9 E, JUPDATE table1 , _5 n4 k# `' a* [
SET name2 = '01' + N; F0 [1 d  L/ r. ]. `
WHERE name1='xx'
- Z4 e7 _! {) @0 O) A! gSET ROWCOUNT 0/ S$ ?! f" p6 h3 h( I6 c
或者您可以使用更新顶部
# m) X2 c- i# a  ^8 C+ P+ J, h8 |UPDATE TOP (1) table1
. e: w8 ?9 l' G, D9 ]( S1 A2 nSET name2 = '01'
8 g: D. [2 v( x! S3 t! xWHERE name1='xx'
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则