mysql concat $_mysql concat 的诡异问题
在存儲過程中,mysql 中的 concat 函數,總是出現問題,不知道是毛?
DROP PROCEDURE IF EXISTS `TestPro`;
CREATE PROCEDURE TestPro()
BEGIN
-- SET @tableName = "_aaaa,_bbbb,_cccc,_dddd";
SET @tableName = "_aaaaa,_bbbb,_cccc,_dddd";
SET @i = 1;
WHILE @i <= 4
DO
set @sqlstr = concat('truncate table count_', 1, SUBSTRING_INDEX(SUBSTRING_INDEX(@tableName, ',', @i), ',', -1));
select @sqlstr;
SET @i = @i + 1;
END WHILE;
END
如果用注釋的那行代碼,即SET @tableName = "_aaaa,_bbbb,_cccc,_dddd"; 不會有任何問題。在 while 循環中,select 得到 4 個結果集。即:
truncate table count_1_aaaa
truncate table count_1_bbbb
truncate table count_1_cccc
truncate table count_1_dddd
如果將 @tableName 換成 SET @tableName = "_aaaaa,_bbbb,_cccc,_dddd"; 僅僅是多了一個字符 a ,得到的結果集:
truncate table count_1_aaaaa,_bbbb,_cccc,_dddd
truncate table count_1_bbbb
truncate table count_1_cccc
truncate table count_1_dddd
第一個結果集卻出錯了。不知道,有沒有哪個大神遇到過這么奇葩的問題? mysql 版本 5.6
總結
以上是生活随笔為你收集整理的mysql concat $_mysql concat 的诡异问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 递归算法时间复杂度计算
- 下一篇: Excel——多个Sheet页合并成一个