所以我知道,在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