次のクエリを実行しようとしています。
"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を使用した2つの異なるVPSでこの問題が発生するのは2回目なので、バージョン番号またはmysql構成である必要があると思います。
Mysqlバージョン:5.1.63-cll
テーブル:
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
何か助けはありますか?