CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了当FLOAT值插入到MySQL的INT列中时,如何获得警告?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_197_1@我已经编写了一个包含INT类型的列的表:
CREATE TEMPORARY TABLE `myTab` (`int` INT,`text` TEXT,`float` FLOAT);

现在我尝试在INT列中添加一个浮点值

INSERT INTO `myTab` (`int`) VALUES (13.34);

我没有得到警告:

SHOW WARNINGS;

然后面只列出了13列:

SELECT * FROM `myTab`;

当浮点值添加到整数列时,是否有可能发出警告?我正在使用mysql Ver 14.14 DiStrib 5.5.31,对于debian-linux-gnu(i686)使用readline 6.2

添加:我想避免为每个INT列(How do I check to see if a value is an integer in MySQL?)添加“检查点”.数据丢失时,我倾向于警告.

解决方法

您可以使用decimaL(n,0)类型而不是INT.尝试在此列中插入非整数确实会引发警告.
CREATE TEMPORARY TABLE t (id decimaL); -- equivalent to the default decimaL(10,0),which covers the range of INT
INSERT INTO t VALUES (0.9); -- raises warning "1265 - Data truncated for column 'id' at row 1"
SELECT * FROM t; -- 0.9 was rounded to 1

我知道这只是一个解决方法,当然对性能有负面影响(尽管很小).但这是我能够想出的唯一接近的解决方案.

大佬总结

以上是大佬教程为你收集整理的当FLOAT值插入到MySQL的INT列中时,如何获得警告?全部内容,希望文章能够帮你解决当FLOAT值插入到MySQL的INT列中时,如何获得警告?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。