mysql的执行insert是否有返回值?像oracle的返回值是sqlcode,
mysql有返回值么?麻烦哪位告诉一下。

解决方案 »

  1.   

    mysql有返回值么?---我知道mssql有,@@error
      

  2.   

    不知道有没有类似05以上的INSERT OUTPUT的语句参数
      

  3.   


    select @@ROWCOUNT 
      

  4.   

    刚测试了下:
    SELECT ROW_COUNT();
      

  5.   

    mysql> select row_count();
      

  6.   

     可以试试
    select row_count();
    MySQL中只有真正对记录进行修改了的情况下,row_count才会去记录影响的行数,否则如果记录存在但是没有实际修改
    则不会将该次更新记录到row_count中。
    例如:
    1.创建数据库表:
    create table t(
    id int,
    name varchar(50),
    address varchar(100),
    primary key(id,name)
    )engine =InnoDB;2.插入测试数据:
    insert into t
       (id,name,address)
    values
       (1,'yubowei','weifang'),
       (2,'sam','qingdao');3.更新测试
    update t
       set address = 'weifang'
    where id = 1
       and name = 'yubowei';
    此时查看影响的行数:
    select row_count(); ==〉执行结果为0;4.再次测试
    update t
    set address = 'beijing'
    where id = 1
    and name = 'yubowei';此时查看影响的行数:
    select row_count(); ==〉执行结果为1;
      

  7.   

    mysql -h localhost -u root -p test -ppwd<<EOF
    load data local infile './Data' into table 表名1 fields terminated by ',' lines terminated by '\r\n';
    exit
    EOF
    VALUE="$?"
    echo $VALUE
      if [ "$VALUE" != 0 ]
      then
       exit 99
      else
        exit 0
      fi我想知道VALUE怎样能够获得mysql执行后获得的返回值。
    楼上说的select row_count(); 在我这应该怎么用?
    麻烦您再指教一下。
      

  8.   

    我是想把一个数据文件导入到表里,如果导入错误,我在shell里怎样捕获。
    如果是oracle我可以捕获sql.sqlcode
    但是mysql捕获什么?
      

  9.   

    mysql还不是很懂。你可以在百度搜搜看看。