2021年1月5日 星期二

MySQL ERROR 1292 (22007): Truncated incorrect DOUBLE value

ERROR 1292 (22007): Truncated incorrect DOUBLE value

這個 Warning產生了。

經查是我這個個案是資料型態不一致造成的。

程式裡面,做了一個變數

DECLARE v_variable VARCHAR(100);

SET v_variable = IFNULL((SELECT abc FROM table WHERE id = 'aaa'),0);

IF (v_variable = 0) THEN

.........................

ELSE

...................

END IF;


v_variable 資料型態是文字,將他設為數字 0!

後面又拿文字來跟數值比較!所以產生了這個警告!

修改一下,就好了。


DECLARE v_variable VARCHAR(100);

SET v_variable = (SELECT abc FROM table WHERE id = 'aaa');

IF (v_variable IS NULL) THEN

.........................

ELSE

...................

END IF;


沒有留言:

張貼留言

如何判斷現在FORM是在 insert mode? 還是 update mode?

只要用  if (empty({primary_key})) 就可以知道是否為新增模式了。 如果 {promary_key} 是空白的,那麼就是在新增模式;反之,就是更新模式。 以上。