行(数字)的MySql错误 - 它是哪一行?

时间:2017-01-20 13:48:39

标签: mysql decimal type-conversion

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 

3 个答案:

答案 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)