首先,我知道這應該不工作。我們使用了一個非常古老的DAL/ORM(基於Pear/DB/GenericDao)層,它錯誤地推測該id不是自動增量/整數字段。升級MySQL 5.0 Linux - > MySQL 5.1 Windows和現在查詢不起作用
此聲明是否適用於5.0 Linux,不適用於5.1 Windows。有沒有可能在我的ini中有不同的設置(ignore_type_errors =「yes」:))?我真的不希望在服務器升級任務中添加重寫/升級此DAL/ORM(使我在該公司之前)。
聲明
INSERT INTO Party SET partyTypeID = 'PERSON',id = '',comment = '';
錯誤
Error Code: 1366
Incorrect integer value: '' for column 'id' at row 1)
DDL的表
CREATE TABLE `Party` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`partyTypeID` varchar(32) NOT NULL DEFAULT '',
`comment` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `partyTypeID` (`partyTypeID`)
) ENGINE=MyISAM AUTO_INCREMENT=1017793 DEFAULT CHARSET=latin1;
任何特定的SQL模式? (運行'show variables like'sql_mode''); – nos 2010-07-15 17:19:59