mysql給字符串變量賦值的方法是用select into 變量結(jié)構(gòu)完成賦值。
十載的府谷網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整府谷建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“府谷網(wǎng)站設(shè)計”,“府谷網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
使用sql的結(jié)構(gòu)語法:
SELECT ... INTO var_list selects column values and stores them into variables.
比如定義一個sql變量:
@x varchar(10);
@y varchar(20);
select id,name INTO @x,@y from dx_tt
這樣就完成了賦值。
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存儲過程查詢結(jié)果賦值到變量的方法
把查詢結(jié)果賦值到變量,大部分情況下使用游標來完成,但是如果明確知道查詢結(jié)果只有一行(例如統(tǒng)計記錄的數(shù)量,某個字段求和等),其實可以使用set或into的方式來實現(xiàn)賦值。示例代碼:
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();
分類: 電腦/網(wǎng)絡(luò) 程序設(shè)計 其他編程語言
問題描述:
如題. 如何我知道查詢結(jié)果只有一個.那么如何賦給一個變量.如果查詢結(jié)果有多個,那么是否可以賦給一個數(shù)組.該怎么寫.
謝謝了.
解析:
以java為例子
java中定義好了一個保存記錄的結(jié)果集ResultSet,
在通過sql語句查詢出相關(guān)數(shù)據(jù)時候,程序會將其放入ResultSet中。
通過ResultSet的內(nèi)部函數(shù)就可以讀出了。
一般存儲不用數(shù)組,可以根據(jù)需要,自定義一個數(shù)據(jù)類型(這個C++和java都支持的)