本文目录一览:
mysql如何把查询结果直接赋值给变量
以java为例子
java中定义好了一个保存记录的结果集ResultSet,
在通过sql语句查询出相关数据时候,程序会将其放入ResultSet中。
通过ResultSet的内部函数就可以读出了。
一般存储不用数组,可以根据需要,自定义一个数据类型(这个C++和java都支持的)
如何将MYSQL查询结果赋值给一个变量
sprintf(query, "SELECT *FROM history WHERE serialnumber='%s' AND adtcode='%s' LIMIT 1;", dataStr,modulename);
if (!mysql_real_query(mysql, query, (unsigned long)strlen(query))) {
res = mysql_use_result(mysql);
numfields = mysql_field_count(mysql);
while (row=mysql_fetch_row(res)) {
fprintf(outfile, "\r\n");
lengths = mysql_fetch_lengths(res);
fields=mysql_fetch_fields(res);
for (i=0; inumfields; i++) {
fprintf(outfile, "%.*s ", (int)lengths[i], row[i]);
}
}
Mysql将存储过程执行后的值赋值给变量
Mysql存储过程查询结果赋值到变量的方法
把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值。示例代码:
drop table if exists test_tbl;
create table test_tbl (name varchar(20), status int(2));
insert into test_tbl values('abc', 1),('edf', 2),('xyz', 3);
drop procedure IF EXISTS pro_test_3;
delimiter //
create procedure pro_test_3()
begin
DECLARE cnt INT DEFAULT 0;
select count(*) into cnt from test_tbl;
select cnt;
-- 多个列的情况下似乎只能用 into 方式
select max(status), avg(status) into @max, @avg from test_tbl;
select @max, @avg;
end
delimiter ;
call pro_test_3();