所以我知道,在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. 存儲過程:數據截斷:截斷不正確DOUBLE值
- 2. MySQL存儲過程參數
- 3. 在mysql中的存儲過程參數
- 4. 存儲過程與參數在mysql中
- 5. MySQL如何截斷存儲過程中的表?
- 6. 存儲過程插入截斷值
- 7. 在數據庫中截斷表T-SQL存儲過程
- 8. MySQL存儲過程中的參數
- 9. MySQL存儲過程在參數
- 10. 被截斷時通過存儲過程插入數據
- 11. MySQL的存儲過程:輸出參數
- 12. MySQL存儲過程參數驗證
- 13. mysql存儲過程輸入參數值
- 14. Mysql存儲過程參數排序
- 15. mysql存儲過程skip null參數
- 16. MySQL存儲過程不帶參數
- 17. MySQL存儲過程的參數逃離
- 18. mysql存儲過程和參數
- 19. MySQL(存儲)過程 - 參數和查詢
- 20. PHP - MySQL存儲過程輸出參數
- 21. 參數的存儲過程的mysql
- 22. 在存儲過程參數
- 23. 存儲過程在參數
- 24. 使用存儲過程在SQL Server中截斷多個表
- 25. MySql中是否存在遞歸存儲過程?
- 26. mysql存儲過程,查詢是否存在或不存在
- 27. 在存儲過程中執行帶參數的存儲過程
- 28. 檢查存儲過程中的參數是否爲空或空
- 29. 檢查是否UTD參數在存儲過程
- 30. 在MySQL中的存儲過程中編寫可選參數?
當你嘗試過什麼? – 2014-11-20 22:16:33
它應該因爲大小被指定爲5. – Rahul 2014-11-20 22:17:07