这种现象不仅仅在插入的时候会有,在数据的查询中也会出现,大体上归结与数据的类型不一致的问题。
这边笔者也是通过查询资料以后总结出来的,要是有哪边说的不对,还请指出!谢谢!
解释:数据库中应该是有一个数据不一致的数据类型的自动转化机制,然后这种自动转化机制只有在数据不一致的时候会自动进行调用,并且这种数据类型转化是隐式的转化,当这种转化放在明面上以后应该是不被允许的,因为这种转化不能确保你转化以后的数据是否正确。举个例子,你将一个varchar的带有小数点的数据转化为int类型的数据。在不进行任何其他处理的情况下直接转化这是不被允许的,也就是说会报错。所以在日后的代码中还是应该注意一下这种问题。
话说要是有能够限制调用这种自动转化模式的方法就挺好,或者是调用这种转化模式以后能够有相应的提示啥的,能让我们在某些地方加以限制就挺好,这样估摸着会少很多麻烦。