這個 是不是 mysql的bug

2021-07-05 18:43:20 字數 955 閱讀 9482

當你執行以下語句的時候

select concat('測試',name_const('test',123456))

5.5.4以上的版本會報錯

'illegal mix of collations ...'

如果是以下的配置

log_bin = on

binlog_forma = mixed

字符集都是utf8

然後執行以下語句

create table test(id int,name varchar(20));

建立儲存過程

delimiter //

create procedure chen()

begin

declare a int;

set a = 1;

insert into test values (a,concat('測試',a));

end//

delimiter ;

執行call chen();

執行很順利,但是當你將這段二進位制日誌解析之後,你會發現下面的insert語句

insert into test values ( name_const('a',1),concat('測試', name_const('a',1)));

很明顯 這樣是執行不了

原因是在sql/item.h的檔案中

有這個函式

void set_numeric()

這個函式將name_const中第二個引數,如果為數字,就強行指定為latin字符集

'#define my_charset_numeric      my_charset_latin1'  in  sql/field.h

將my_charset_numeric 換成 my_charset_bin

這樣就不會報錯,這個不知道是不是bug,在5.5以前或者其他分之上都不會出現這個問題

這樣 主從也會中斷

shiro1 4 0是不是有bug啊

做了redis shiro session快取,但是登入成功後再連線,得不到sessionid,redis又生成一條session快取,又跳轉到登入界限,怎麼回事 沒有sessionid我怎麼從redis讀出session 問題在於多次securityutils.getsubject 得到的不是乙個...

HashMap是不是有序的?

不是有序的.有沒有有順序的map實現類?有treemap和linkedhashmap。treemap和linkedhashmap是如何保證它的順序的?linkedhashmap 是根據元素增加或者訪問的先後順序進行排序,而 treemap是基於元素的固有順序 由 comparator 或者 comp...

看看這個登入和登出是不是還有改進的地方

好久沒寫 web 程式了都忘了.臨時用的.在網上搜搜寫的.回憶一下當年剛上班時候的感覺.大家看看是不是還有優化的地方,自己感覺不錯 吼吼 頁面是 jsf 的,後台服務是乙個主資料產品.1.登入 2.登出 3.過濾器 public class checkloginfilter implements f...