列price
中的最高值是165990.00,最低的NULL(列上有可以为空的选项),所以我在范围内。
我想在我的mysql表中更改datetype(十进制15,2到6,2),但是我收到此错误:
1264 - 列'价格'超出范围值在第534行
我怎么知道它是哪一行?我如果看到ID为534的行,它看起来不错(价格= 2000.00)
好的我可以tablo
订购price
并继续查看row 534
是什么意思?我怎么能找到那一行?
查询:
ALTER TABLE `tablo` CHANGE `price` `price` DECIMAL( 6, 2 ) NULL DEFAULT NULL
答案 0 :(得分:2)
好,它已经很旧了,让我们来回答。
它是您查询的数据库的第 534th 行,从1开始(即:第一行的索引为1,不是(在PHP或任何文件中)。您在查询中的某个地方遇到了问题,它正试图告诉您哪里。
我真的希望我的回答会有所帮助。
答案 1 :(得分:1)
您是否检查了行号534而不是ID。一个简单的方法是该列的order by descending
,您将了解哪些都超出了限制。
您也可以尝试order by length(column) descending
,以确保其不按字母顺序排序或拥有-ve数字。
答案 2 :(得分:1)
165990.00
需要DECIMAL(8,2)
,因为总计为8位数。
min 非NULL 值是多少?它可能是-1234567.89,需要(9,2)
。