DECLARE PRIMARY_KEY VARCHAR(100);

成都創新互聯公司憑借在網站建設、網站推廣領域領先的技術能力和多年的行業經驗,為客戶提供超值的營銷型網站建設服務,我們始終認為:好的營銷型網站就是好的業務員。我們已成功為企業單位、個人等客戶提供了成都網站建設、成都網站制作服務,以良好的商業信譽,完善的服務及深厚的技術力量處于同行領先地位。
SET PRIMARY_KEY = group_concat(NEW.USER_ID,NEW.ROLE_NAME);
查詢語句是這樣寫的:
select group_concat(NEW.USER_ID,NEW.ROLE_NAME)from NEW where 條件;
SELECT group_concat(NEW.USER_ID,NEW.ROLE_NAME separator '連接字符') FROM NEW where 條件;
text 類型就是字符串類型,最多可以存放 65535 個字節內容,用起來與 char、varchar 類型是一樣使用的。
你 php 中操作的內容是怎樣的,可以把生成的 SQL 語句輸出來看看是不是合乎語法,如果有報錯,你可以把報錯信息貼出來大家分析分析。
DELIMITER?$$
USE?`test`$$
DROP?PROCEDURE?IF?EXISTS?`p_getAllTablesCount`$$
CREATE?DEFINER=`root`@`localhost`?PROCEDURE?`p_getAllTablesCount`()
BEGIN
DECLARE?tableName?VARCHAR?(100);
DECLARE?tablesn?VARCHAR?(100);
DECLARE?tableCount?INT;
DECLARE?stopFlag?INT;
DECLARE?sqlStr?VARCHAR(1000);
--?注意:請修改數據庫名稱
DECLARE?cursor_name?CURSOR??FOR?SELECT?TABLE_NAME??FROM?information_schema.tables?WHERE?table_schema='test';
DECLARE?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'??SET?stopFlag=1;
CREATE?TABLE?IF?NOT?EXISTS?temp_table(table_name?VARCHAR(100),table_count?VARCHAR(100));???
OPEN?cursor_name;
REPEAT
FETCH?cursor_name?INTO?tableName;
SET?sqlStr?=?CONCAT('SELECT?COUNT(1)?into?@tableCount?FROM?',?tableName);
SELECT?sqlStr?INTO?@sqlStr;
--?select??@sqlStr;
SELECT?@tableCount?INTO?tableCount;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
SET?sqlStr?=?CONCAT('insert?into??temp_table?values(''',CONCAT(tableName),''',''',CONCAT(tableCount),''');');
SELECT?sqlStr?INTO?@sqlStr;
BEGIN
PREPARE?stepInsertIntoTable?FROM?@sqlStr;
EXECUTE?stepInsertIntoTable;
END;
UNTIL?stopFlag??END?REPEAT;
CLOSE?cursor_name;???
SELECT?table_name,table_count?FROM?temp_table?ORDER?BY?table_count?DESC;
--?PREPARE?step?FROM?@sql1;
--?EXECUTE?step;
DROP?TABLE??temp_table;
END$$
DELIMITER?;
不好意思,只能看到您發的圖,我只能粗略的模擬一下
思路: 使用 date_format() 函數 (mysql自帶的函數)
(1) 創建表
create table date_test(dateofmanufacture DATE);
(2) 插入
insert into date_test values(date_format("1983-11-23", "%y-%m-%d"));
(3) 查詢
select * from date_test;
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();
mysql給字符串變量賦值的方法是用select into 變量結構完成賦值。
使用sql的結構語法:
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
這樣就完成了賦值。
標題名稱:mysql怎么賦值 mysql變量賦值
當前路徑:http://www.yijiale78.com/article28/hihicp.html
成都網站建設公司_創新互聯,為您提供網站維護、網站營銷、做網站、面包屑導航、、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯