一段时间后,试图杀死这个错误,我是直接测试SQL查询:有没有办法在mysql中检测溢出?
UPDATE noticias SET
data_destaque_ini='2013-12-03', data_destaque_fim='',
fotoDestaque_x=-3, fotoDestaque_y=-102,
fotoDestaque_escala=154, destacar=1
WHERE idNoticia=3
但fotoDestaque_escala
保持相同的设置如前:127嗯,这是一个“圆”号,对吧?因此,即使没有任何SQL错误消息,我打开的结构,这就是它:列设置为TINYINT
(-127到127),并将其更改为SMALLINT
解决了这个问题。但是考虑到未来,我对MySQL的这种行为感到震惊:我为该列传递了太大的值,MySQL保存了可能的东西,剩下的部分并且没有讲述任何关于 - 客户端仍然在黑暗中!
那么,有没有配置或检测,不知何故,溢出的方法吗?如果不是这样,我想在我的库中的PHP水平测试,以...
你要买什么?一种将它作为警告来检测的方法,或者全面拒绝更新该行? –
运行查询的代码是什么? MySQL应该抛出一个“超出范围值”警告。 –
我期待从mysqli_query一个假的回报,比我管理的错误。它的接缝工作不同,它返回TRUE,但有某个地方有警告(我在下面看)。 – Gustavo