Tenir compte du schéma de table pour table1:Autoriser les valeurs entre guillemets dans les colonnes entières mysql?
id: int country_id: int description: varchar(50)
et la requête:
INSERT INTO table1(id, country_id, description) VALUES (1, '20', 'Test Desc');
Cela fonctionnerait sous MySQL 4x mais échouera sous MySQL 5x (erreur 1067 (42000): Valeur par défaut non valide pour . .. «)
Je sais que la raison pour que cela se produise - country_id est int et par conséquent ne doit pas être cité est-il un commutateur mysql u. nder 5x quelque part pour le faire se comporter comme 4x donc la requête n'échouera pas?
J'ai hérité d'une application qui utilise des requêtes comme celle-ci et je cherche une solution rapide jusqu'à ce que je puisse trouver le temps de corriger toutes les requêtes.
Merci
Etes-vous sûr que ce n'est pas que vous avez un champ d'auto-incrémentation pour lequel vous avez aussi une valeur par défaut? Ils ont éliminé cela dans 5. – phoebus
Ou utilisez-vous '' comme valeur par défaut pour un int? Vous devez utiliser 0 ou NULL maintenant. – phoebus
Mes excuses, à regarder de plus près, il semble que la requête insert '' pour le domaine int. –