所以我知道,在SQL Server中,如果某個過程期望得到一個varchar(5)並且它收到'123456',它將自動截斷爲'12345'。這是否也發生在MySQL?MySQL是否在存儲過程中截斷參數?
回答
這取決於您的sql_mode
設置。
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_sql_mode
所以你的意思是,基於'sql_mode'設置截斷不會發生?這是一個奇怪的特徵。 – Rahul 2014-11-20 22:22:46
@Rahul一些'sql_mode'設置是嚴格的,會拋出一個錯誤,而不是靜靜地截斷內容。如果您使用敏感數據,這可能很重要 - 因爲類型不匹配,您確實不希望將錯誤的銀行餘額插入某人的帳戶。 – ceejayoz 2014-11-20 22:34:54
這就是我的意思,它應該始終限制。以你的銀行爲例...如果這是一個完整性約束,取款金額<= 5位數字,如果它允許6位數字,則由sql_mode執行,那麼我們在哪裏? – Rahul 2014-11-20 22:40:05
- 1. MySQL存儲過程參數
- 2. MySQL如何截斷存儲過程中的表?
- 3. 存儲過程插入截斷值
- 4. 在數據庫中截斷表T-SQL存儲過程
- 5. MySQL存儲過程在參數
- 6. MySQL存儲過程不帶參數
- 7. MySQL存儲過程的參數逃離
- 8. mysql存儲過程輸入參數值
- 9. Mysql存儲過程參數排序
- 10. MySQL的存儲過程:輸出參數
- 11. mysql存儲過程和參數
- 12. 存儲過程在參數
- 13. 在存儲過程參數
- 14. MySql中是否存在遞歸存儲過程?
- 15. mysql存儲過程,查詢是否存在或不存在
- 16. 檢查是否UTD參數在存儲過程
- 17. 檢查存儲過程中的參數是否爲空或空
- 18. Nhibernate當參數值超過4000個字符時,截斷存儲過程輸入參數
- 19. MySQL的存儲過程,檢查是否存在記錄
- 20. 從存儲過程中調用存儲過程在MySQL中
- 21. 在java存儲過程中需要用OUT參數爲MYSQL
- 22. 在MySQL中傳遞FieldName作爲參數存儲過程
- 23. 存儲過程NULL參數
- 24. DbNull.Value存儲過程參數?
- 25. 參數化存儲過程
- 26. 是否有可能有一個MySQL存儲過程的默認參數?
- 27. 數字陣列作爲存儲過程的參數(MySQL的),用於選擇其中在存儲過程中,()
- 28. 檢查存儲過程是否存在於數據庫中?
- 29. 存儲過程概念是否存在於核心數據中?
- 30. MySql的STR_TO_DATE不是在存儲過程
當你嘗試過什麼? – 2014-11-20 22:16:33
它應該因爲大小被指定爲5. – Rahul 2014-11-20 22:17:07