發現如果 MySQL 中的變數未指定資料型態,會出現一些很雷的行為。
這邊用 JSON 型態:
select json_array( 100, JSON_ARRAY(1, 2) ); # 輸出: [100, [1, 2]]
先除存到 @list
以後在讀取,資料型態就會亂掉:
SET @list = json_array(1, 2); select json_array( 100, @list ); # 輸出: [100, "[1, 2]"]
若需要用到變數,建議先宣告變數型態:
DECLARE list JSON; SET list = json_array(1, 2);