MySQL存储过程中的sql_mode问题怎么处理

这篇文章主要介绍MySQL存储过程中的sql_mode问题怎么处理,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为宁化企业提供专业的成都网站建设、做网站,宁化网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

在my.cnf中设置了sql_mode='STRICT_TRANS_TABLES';

却发现还是有非法数据的写入,比如无符号整数字段本来值是0,还可以减,结果当然溢出了,经检查发现存储过程中默认的sql_mode并没有使用global的sql_mode,测试如下:

CREATE PROCEDURE p_test()
BEGIN
select @@session.sql_mode,@@global.sql_mode;
END;

call p_test();

+--------------------+---------------------+
| @@session.sql_mode | @@global.sql_mode   |
+--------------------+---------------------+
|                    | STRICT_TRANS_TABLES |
+--------------------+---------------------+
1 row in set (0.00 sec)

CREATE PROCEDURE p_test1()
BEGIN
set sql_mode=@@global.sql_mode;

select @@session.sql_mode,@@global.sql_mode;
END;

call p_test1();

+---------------------+---------------------+
| @@session.sql_mode  | @@global.sql_mode   |
+---------------------+---------------------+
| STRICT_TRANS_TABLES | STRICT_TRANS_TABLES |
+---------------------+---------------------+
1 row in set (0.00 sec)

以上是“MySQL存储过程中的sql_mode问题怎么处理”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


文章名称:MySQL存储过程中的sql_mode问题怎么处理
URL分享:http://bzwzjz.com/article/gsohjc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设改版 成都网站设计 成都网站制作 LED网站设计方案 网站建设方案 成都网站建设公司 网站建设公司 app网站建设 营销网站建设 成都网站设计制作公司 温江网站设计 成都网站设计 达州网站设计 成都网站制作 成都网站建设 成都网站建设 成都网站建设 定制网站建设多少钱 网站建设方案 网站设计制作报价 营销网站建设 专业网站建设