如何处理MySQL存储过程中的sql_mode问题

分类:编程技术 时间:2024-02-20 15:48 浏览:0 评论:0
0
本文主要介绍如何处理MySQL存储过程中的sql_mode问题。文章中的介绍非常详细,有一定的参考价值。感兴趣的朋友一定要读一下!

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

但是发现还是写入了非法数据。例如,无符号整数字段的原始值为0,可以减少该值。 ,结果当然溢出了。经过检查发现存储过程中默认的sql_mode并没有使用全局的sql_mode。测试如下:

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

调用 p_test();

+---------------- -----+---------------- --------+
| @@session.sql_mode | @@global.sql_mode |
+ --------------------------------+-------------------- ---+
| |
+------------------------------------+-------------------- --+
集合中的 1 行(0.00 秒)

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

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

call p_test1();

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

以上就是《如何处理MySQL存储过程中的sql_mode问题》一文的全部内容,感谢您的阅读!希望分享的内容对大家有所帮助。更多相关知识,欢迎关注行业资讯频道!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何处理MySQL存储过程中的sql_mode问题

用户评论