Bonjour,
Le code suivant génère une erreur, connaissez-vous l'origine du problème ?
Code:
1
2
3
4 ALTER TABLE maTable AUTO_INCREMENT=20; Erreur MySQL: #1067 - Valeur par défaut invalide pour 'created'
Version imprimable
Bonjour,
Le code suivant génère une erreur, connaissez-vous l'origine du problème ?
Code:
1
2
3
4 ALTER TABLE maTable AUTO_INCREMENT=20; Erreur MySQL: #1067 - Valeur par défaut invalide pour 'created'
La valeur de la graine doit toujours être égale ou supérieure à la valeur courante.... est-ce bien le cas ?
A +
Bonjour SQLpro,
La valeur actuelle de l'id est 17, donc ma nouvelle valeur est supérieure ! Quid de l'erreur.
Mais mon besoin est le suivant:
La table comporte des données dont les id sont compris entre 1 et 1000
Un ajout de données utilisera les id 20000 à 29999
Je souhaite ultérieurement reprendre l'incrémentation à 1001 (jusqu'à 19999)
Est-ce possible ?
Bonjour,
J'ai effectué quelques tests supplémentaires.
Sur une autre table, la modification de l'incrémentation fonctionne (et la nouvelle valeur doit être supérieure à l' id maxi)
Les lignes ci-dessous concernent la table qui génère l'erreur.
J'ai une clé étrangère sur une autre colonne que l'idCode:
1
2
3
4
5
6
7
8 CREATE TABLE maTable ( `id` int(10) UNSIGNED NOT NULL, ... ALTER TABLE maTable ADD PRIMARY KEY (`id`), ... ALTER TABLE maTable MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18
La désactivation n’empêche pas le message d'erreur :calim2:Code:
1
2 SET FOREIGN_KEY_CHECKS = 0; ALTER TABLE maTable AUTO_INCREMENT=20;
Bonjour,
Communiquez le DDL complet de création de la table qui pose problème (CREATE TABLE et tous les éventuels ALTER TABLE qui suivent)
Si la colonne qui pose souci référence une colonne d'une autre table, alors il ne faut pas déclarer d'auto_incrément, mais récupérer la valeur précédemment insérée dans la table référencée grâce à la fonction LAST_INSERT_ID()
Bonjour escartefigue,
J'ai modifié le processus depuis le début de la semaine. Merci pour cette réponse, je conserve cette solution pour un futur code.
Bon WE