UPDATE语法UPDATE [LOW_PRIORITY] tbl_name SET col_name1=expr1,col_name2=expr2,...
    [WHERE where_definition] [LIMIT #]
你想要的功能是不可以实现的,
你有这样的一个变通办法,
Select * from Table1 Where Table1.A = 'AA';
Update Table1 Set A='AAA' Where  A='AA';即用一条SELECT语句来显示,再用一个UPDATE语句来更新

解决方案 »

  1.   

    意思不是很清楚,只好猜猜
    update改变的行数,说明有这么多行匹配条件,
    如果是想返回行,那就用
    select count(*) where 条件
      

  2.   

    不好意思,我的意思是:
    例如
      update tabela set cola=xx  where ...
    由于xx和 cola的值一样,所以update语句实际没有改变纪录,在一般情况下,update 返回的是改变了的记录行数,所以会返回0值。
    这种情况下,我想得到where子语句匹配的行数,应该怎么设置mysql??
    我在mysqld的manual中查过,好象要设置一个flag,在连接到mysql sever之前,这样就可以返回"mached rows"...
    大家有什么好建议吗?
      

  3.   


    ODBC中 OPTION 加 3
    API   中MYSQL_REAL_CONNECT中FLAG 要加1(大概是,具体查手册)在DEPHI, PB等数据库开发中一定要加这个参数,否则在更新表时会
    发生"该记录已被其它用户所修改的"错误. 为什么会发生这原因,我就不多说了.