Mysql的Procedure 参数为NULL问题分析(二)

2014-11-24 03:21:11 · 作者: · 浏览: 8
--------------------------------------
----------------------------+
| Variable_name | Value
|
+---------------+---------------------------------------------------------------
----------------------------+
| sql_mode | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_
USER,NO_ENGINE_SUBSTITUTION |
+---------------+---------------------------------------------------------------
----------------------------+
1 row in set (0.00 sec)

mysql> select 1/0;
+------+
| 1/0 |
+------+
| NULL |
+------+
1 row in set, 1 warning (0.00 sec)

我们看到了1 warning,我们在看下这个warning:
mysql> show warnings;
+-------+------+---------------+
| Level | Code | Message |
+-------+------+---------------+
| Error | 1365 | Division by 0 |
+-------+------+---------------+
1 row in set (0.00 sec)

mysql> exit
Bye
我们把sql_mode 中去掉ERROR_FOR_DIVISION_BY_ZERO参数时,重启mysql,试试看:

C:\Documents and Settings\Administrator>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。


C:\Documents and Settings\Administrator>net start mysql

MySQL 服务已经启动成功。


mysql> select 1/0;
+------+
| 1/0 |
+------+
| NULL |
+------+
1 row in set (0.00 sec)

mysql> show warnings;
Empty set (0.02 sec)
这时warnings的内容为空。
问题到这里,读者也知道这是为什么了。有空再试试别的数据库,看看也是不是这样

本文出自 “无聊pp” 博客