我正在尝试运行以下查询:

"insert into visits set source = 'http://google.com' and country = 'en' and ref = '1234567890';"

该查询对我来说看起来不错,并显示警告:
1 row(s) affected, 2 warning(s): 1364 Field 'country' doesn't have a default value 1292 Truncated incorrect DOUBLE value: 'http://google.com'

并且信息未按预期存储:
id , ref , bnid, source, country
'5', NULL, NULL, '0'   , ''

如果我像这样运行普通语法:
insert into visits (source,country,ref) values('http://google.com','en','1234567890');

我得到了预期的结果:
'6', '1234567890', NULL, 'http://google.com', 'en'

第一个语法(插入集)在先前的服务器中运行。现在,我使用cpanel更改为一个,但事实并非如此。这是本周第二次我在使用cpanel的两个不同的VPS中遇到此问题,因此我猜测它应该是版本号或mysql配置。

Mysql版本:5.1.63-cll

table :
CREATE TABLE `visits` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ref` varchar(64) DEFAULT NULL,
  `bnid` int(11) DEFAULT NULL,
  `source` varchar(256) DEFAULT NULL,
  `country` varchar(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8

有什么帮助吗?

最佳答案

从插入查询中删除“和”

insert into visits set source = 'http://google.com' , country = 'en' , ref = '1234567890'

10-06 07:09