我手动(GASP!)在命令行输入了一个MySQL命令,我收到了一个警告,我甚至无法理解.(在任何人说什么之前,是的,我知道:1.使用命令行界面不是最好的方法; 2.我的表没有命名为"TABLE_NAME"而我的列没有命名为"DateColumn"而我的RecordID值不是真的是"1234"; 3.也许我的列类型应该是TIMESTAMP,但就目前而言,它不是.继续......
试图输入"2012年7月26日下午2:27(格林威治标准时间)"的日期值,我键入:
mysql> update TABLE_NAME set DateColumn="2012-07-26 14:27:00" where RecordID="1234";
Run Code Online (Sandbox Code Playgroud)
我收到了:
Query OK, 1 row affected, 1 warning (0.11 sec)
Rows matched: 1 Changed: 1 Warnings: 1
Run Code Online (Sandbox Code Playgroud)
所以,我键入:
mysql> show warnings;
+---------+------+-----------------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------------+
| Warning | 1264 | Out of range value for column 'DateColumn' at row 1 |
+---------+------+-----------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
很奇怪,我想.所以我先检查了表格以确认列(字段)类型:
mysql> describe TABLE_NAME;
+------------+----------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
| …Run Code Online (Sandbox Code Playgroud) 我使用 MySQL 来存储一个 20 位的 ID 号。当我使用以下查询查询数据库时,出现以下错误。
询问:
UPDATE tablename SET columnname = 59641217344615859740;
Run Code Online (Sandbox Code Playgroud)
错误:
Error Code: 1264. Out of range value for column 'columnname' at row 1
Run Code Online (Sandbox Code Playgroud)
表信息:
引擎:InnoDB
行格式:动态
表整理:utf8mb4_general_ci
栏目信息:
类型:BIGINT(255)
可空:是
权限:选择、插入、更新、引用
我究竟做错了什么?我的查询有问题吗?也许与表或列设置?大多数其他出现此错误的人没有使用 BIGINT 等列类型,但我是. 非常感谢您的回答。谢谢!
在MySQL中运行一组插入语句时,我一直在获取Error Code: 1264. Out of range value for column 'x' at row 1。列类型设置为,float(10, 10)并且列范围内的值都在范围23.912 to 26.458之内。我完全不知道为什么会收到此错误。
当我尝试将下面插入我的MySQL时
INSERT INTO `rooms` (`id`, `ip`) VALUES ('131213', '-259857341');
Run Code Online (Sandbox Code Playgroud)
我失败了以下错误:
Warning: #1264 Out of range value for column 'ip' at row 1
Run Code Online (Sandbox Code Playgroud)
我环顾四周,但还没有找到如何解决或解决它...
我的字段是unsigned int,它应该适用于该条目.
有什么问题,如何解决?
我使用unsigned int因为我想使用inet_ntoa/aton存储ips.
编辑:
我在MySQL网站上使用unsigned INT作为推荐:
要存储由INET_ATON()生成的值,请使用INT UNSIGNED列而不是INT(已签名).如果使用带符号列,则无法正确存储与第一个八位字节大于127的IP地址对应的值.请参见第10.6节"超出范围和溢出处理".
http://dev.mysql.com/doc/refman/5.0/en/miscellaneous-functions.html
我在MySQL中有一个查询
UPDATE `mylandho_foreclosure`.`property_commercial`
SET `winningBid` = '14000000.00'
WHERE `property_commercial`.`propertyId` =325 LIMIT 1 ;
Run Code Online (Sandbox Code Playgroud)
但它显示了警告
Warning: #1264 Out of range value adjusted for column 'winningBid' at row 1
Run Code Online (Sandbox Code Playgroud)
数据类型是float(9,2)