日期:2014-05-16  浏览次数:20772 次

在mysql如何查看sql执行的warning相关信息
在mysql更新的时候 有一个warning报错 :
mysql> UPDATE TB_SYS_BRANCH SET VR_SYSBR_CODE="\$!\\''##" where ID_SYS_BRANCH=1;
Query OK, 1 row affected, 1 warning (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 1

查看:
mysql> select VR_SYSBR_CODE from TB_SYS_BRANCH where ID_SYS_BRANCH=1;
+---------------+
| VR_SYSBR_CODE |
+---------------+
| $!\ |
+---------------+
1 row in set (0.00 sec)
也不是我想插入的内容

请大家帮忙看下怎么回事

如何查看这个语句的warning信息?
感谢





------解决方案--------------------
在出现warning之后立刻执行show warnings;就可以看到提示信息。

注意:warnings只记录上一次执行的提示,如果你在出现一个warning之后,再执行了一次正常的查询,如select 1/0; 得到一个warning,然后又执行了select now();这次没有告警,你再做show warnings也是看不到告警信息了。
------解决方案--------------------
show create table TB_SYS_BRANCH ;
看看
------解决方案--------------------
SELECT "\$!\\''##" 看看结果,VR_SYSBR_CODE定义是什么
------解决方案--------------------
VR_SYSBR_CODE定义的是char (3)吧
------解决方案--------------------
你的'VR_SYSBR_CODE' 估计长度不足。