可以试试 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;
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(); 在我这应该怎么用? 麻烦您再指教一下。
select @@ROWCOUNT
SELECT ROW_COUNT();
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;
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(); 在我这应该怎么用?
麻烦您再指教一下。
如果是oracle我可以捕获sql.sqlcode
但是mysql捕获什么?