mysql 几个问题
1、mysql数据库从5.0升级到5.5导致一个表不能写入 同一个语句用5.0就可以写进去 Client Library error:
Error Code: 1264;
Out of range value for column 'IP' at row 1
语句如下
insert into tbl(DevID, EnterConf, QuitConf, ConfName, ConfID, IP, DevType) VALUES ('11000000000000000029000820060500', 1326174285, 0, 'tpkt', '', 2886787684, 2)
即便我把IP 改成0也写不进去
表结构如下
SerialID为 主索引 unique
字段 类型 空 默认值
SerialID int(11) no <auto_increment>
DevID varchar(37} no
EnterConf int(11) no
QuitConf int(11) yes
ConfName varchar(129) no
ConfID varchar(33) no
IP int(11) no
DevType int(2) no
另外这个IP int(11) 我拼接sql语句时应该用sprintf( %u ....) 还是sprintf( %d......),我觉得应该是%u
2、数据库在多用户操作时老是会卡死,请问我如何判断connection出现错误呢,出现错误我重新连接会不会解决卡死的问题
------解决方案--------------------
1。 2886787684这个已经大于了有符号int
2. 是否是应为表锁造成的,show create table tbname贴出来看看表引擎 ,索引
------解决方案--------------------
引用 INT[(M)] [UNSIGNED] [ZEROFILL] A normal-size integer. The signed range is -2147483648 to 2147483647. The unsigned range is 0 to 4294967295.