在一个含有标识列的表中使用UPDATE语名更新数据时,提示结果为“所影响的行数为0“,我仔细检查了数据,数据无误,反复试验仍然如前所述,为知为何。是不是含有标识列的表要用另外一种更新数据的方法啊?

解决方案 »

  1.   

    select .... where 加上你的update条件查询看看有没有记录呀
      

  2.   

    谢谢楼上的各位支招,我现将建库的脚本及UPDATE语句贴上,希望各位再帮我看看。
    CREATE TABLE [dbo].[users] (/*用户管理*/
    [id] [int] IDENTITY (1, 1) NOT NULL ,
    [username] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,/*用户名*/
    [userpassword] [varchar] (32) COLLATE Chinese_PRC_CI_AS NOT NULL ,/*用户密码*/
    [powers] [int] NOT NULL /*用户级别*/
    ) ON [PRIMARY]
    GOALTER TABLE [dbo].[users] WITH NOCHECK ADD 
    CONSTRAINT [PK_users] PRIMARY KEY  CLUSTERED 
    (
    [username]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[users] ADD 
    CONSTRAINT [IX_users] UNIQUE  NONCLUSTERED 
    (
    [id]
    )  ON [PRIMARY] 
    GOUPDATE users SET username='lsw',userpassword='147',powers=1 WHERE username='aaa' AND userpassword='aaa' AND powers=2/*UPDATE语句,其中没有涉及到标识列*/在我的表中有如下记录:
    1   aaa   aaa   1
    2   bbb   ccc   2
    3   ccc   147   2可为什么我的语句所影吶的行数为0呢?
      

  3.   

    WHERE username='aaa' AND userpassword='aaa' AND powers=2
    ---------
    没这条记录
      

  4.   

    只有 aaa aaa  1
      

  5.   

    UPDATE users SET username='lsw',userpassword='147',powers=1 WHERE username='aaa' AND userpassword='aaa' AND powers=2/*UPDATE语句,其中没有涉及到标识列*/ 在我的表中有如下记录: 
    1  aaa  aaa  1 
    2  bbb  ccc  2 
    3  ccc  147  2 -----------------------你修改的是条件是 aaa aaa 2
    表中没有.只有aaa aaa 1