Tout d'abord, je sais que cela ne devrait pas fonctionner. Nous utilisons une très ancienne couche DAL/ORM (basée sur Pear/DB/GenericDao) qui suppose à tort que l'identifiant n'est pas un champ auto-incrémenté/entier.Mis à jour MySQL 5.0 Linux -> MySQL 5.1 Windows et maintenant la requête ne fonctionne pas
Cette instruction fonctionne dans Linux 5.0, ne fonctionne pas dans Windows 5.1. Y a-t-il un paramètre qui pourrait être différent dans mon ini (ignore_type_errors = "yes" :))? Je ne veux vraiment pas ajouter de réécriture/mise à niveau de ce DAL/ORM (qui me précède dans l'entreprise) aux tâches de mise à niveau du serveur.
Déclaration
INSERT INTO Party SET partyTypeID = 'PERSON',id = '',comment = '';
Erreur
Error Code: 1366
Incorrect integer value: '' for column 'id' at row 1)
DDL pour le tableau
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;
Est-ce une mode SQL particulier défini? (Exécuter 'afficher des variables comme 'sql_mode''); – nos