INSERT INTO `package`(`cid`,`oid`,`toid`,`cat`,`allday`) values( '3' ,'' ,'5','6','Yes');
当我运行此查询时,它在我的localhost上工作正常,但在实时服务器上显示错误,因为没有为' oid'指定值,我的实时mysql版本是服务器版本:5.6.30-cll -lve - MySQL社区服务器(GPL)
这是我的oid字段的结构:
oid
tinyint(4)NOT NULL,
Error i get on live - Field 'oid' is not a integer value
答案 0 :(得分:1)
由于该列不能为null并且是一个tinyint,它将尝试将空值转换为整数。由于没有给出整数,它将给出你得到的错误。
有两个选项
将 tinyint(4)not null 更改为 tinyint(4)并提供空值:
INSERT INTO package
(cid
,oid
,toid
,cat
,allday
)值('3',null,' 5' , '6', '是');
插入一个整数值
INSERT INTO package
(cid
,oid
,toid
,cat
,allday
)值('3','0' , '5', '6', '是');
答案 1 :(得分:0)
我不确定oid
是否为tinyint(4) NOT NULL
,并且您在oid
中将空白值存储在查询中。请为oid
列允许空值,然后尝试以下查询
INSERT INTO `package`(`cid`,`oid`,`toid`,`cat`,`allday`) values( '3' ,null ,'5','6','Yes');
^^