Incrémenter champ : insert into . select max(.) + 1 from .
Bonjour à tous
Je vous explique mon cas de figure : j'ai une table de données relatives à une autre entité (typiquement, on va dire que j'ai des écritures sur un compte)
J'ai une table compte :
Code:
1 2 3 4
| (
numero_compte,
...
) |
et une table d'écritures
Code:
1 2 3 4 5
| (
numero_compte,
numero_ecriture,
...
) |
le couple (numero_compte, numero_ecriture) est unique dans ma table des écritures.
Je voudrais insérer une donnée dans ma table des écritures une écriture qui est la prochaine dans l'ordre des numero d'écriture. J'ai fait ça :
Code:
insert into ecriture select numero_compte, max(numero_ecriture)+1,... from ecriture where numero_compte = num1
Le problème est que tant que mon compte n'a pas d'écriture, cette insertion ne marche pas puisque le sélect ne retourne rien. Est-ce que quelqu'un aurait une autre idée pour faire ça ? Ou pour corriger mes erreur ?
Merci d'avance