MySQL儲存過程中的sql_mode問題
在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 ;
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)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/124805/viewspace-1043174/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql多次呼叫儲存過程的問題MySql儲存過程
- MySQL儲存過程的許可權問題MySql儲存過程
- 儲存過程問題。。儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- ORACLE中儲存過程的許可權問題Oracle儲存過程
- 一個儲存過程的問題!儲存過程
- mysql的儲存過程MySql儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- Mysql 儲存過程MySql儲存過程
- Java呼叫Oracle儲存過程的問題JavaOracle儲存過程
- MySql儲存過程中limit傳參MySql儲存過程MIT
- Mysql 儲存過程的使用MySql儲存過程
- mysql儲存過程的修改MySql儲存過程
- 儲存過程單引號問題儲存過程
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式
- mysql儲存過程整理MySql儲存過程
- MySQL之儲存過程MySql儲存過程
- [MYSQL -23儲存過程]MySql儲存過程
- MYSQL儲存過程管理MySql儲存過程
- mysql儲存過程例子MySql儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- Hibernate呼叫oracle儲存過程的問題Oracle儲存過程
- mysql儲存過程的引數MySql儲存過程
- 【Mysql】Mysql儲存過程學習MySql儲存過程
- Sqlserver中的儲存過程SQLServer儲存過程
- MySQL儲存過程中捕獲異常的方法MySql儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- mysql儲存過程案例解析MySql儲存過程
- mysql儲存過程詳解MySql儲存過程
- MySQL儲存過程SAVEPOINT ROLLBACK toMySql儲存過程
- java儲存過程呼叫servlet的授權問題Java儲存過程Servlet
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- mysql 儲存過程和事件排程MySql儲存過程事件
- 儲存過程中巢狀儲存過程的變數執行方式儲存過程巢狀變數
- Mysql 5.7儲存過程的學習MySql儲存過程
- MySQL儲存過程的建立和使用MySql儲存過程
- oracle儲存過程!解決網友問題Oracle儲存過程