修改列MySql后报告错误:
ALTER TABLE MyTable MODIFY mycolumn DECIMAL(9,4)
[2016-05-31 15:43:03] [22001][1264] Data truncation: Out of range value for column 'mycolumn' at row 33934497
问题是如何选择编号为33934497的行?
重要提示
据我所知,MySql将行号附加到表中的每一行。所以必须有一个方法来选择这个数字。 LIMIT
子句不是一种情况,因为它限制了已选择的行,例如select中的行,而不是表中的行。此外,select
和modify
语句中的顺序可能不同,因此使用LIMIT
不是解决方案。
已更新
表格中有关最小值和最大值的信息:
select Max(mycolumn) from MyTable
= -333240.0000
select Min(mycolumn) from MyTable
= 1000000.0000
1000000
和-333240
适合DECIMAL(9,4)
吗?
答案 0 :(得分:0)
如果您当前的列类型为INT
并且您尝试切换到DECIMAL(9,4)
,我会选择包含大于5位数(9-4)的所有记录,即99999.
所以只是
SELECT *
FROM mytable
WHERE mycolumn>99999
答案 1 :(得分:-1)
try {
Socket socket = new Socket(DESTINATION_ADDRESS, DESTINATION_PORT);
// Exmp : Socket socket = new Socket("192.168.0.101", 80);
OutputStream outToServer = socket.getOutputStream();
DataOutputStream out = new DataOutputStream(outToServer);
out.writeUTF(SEND_STRING);
// Exmp : out.writeUTF("TEST");
socket.close();
} catch (Exception e) {
e.printStackTrace();
}
OFFSET - 跳过n行 注意它使用你的ORDER BY