Hallo,
Ik zit met de volgende situatie. Ik heb een MySQL database (innodb) met daarin een hoop tables.
Ik moet daar data in ingooien, maar over de structuur heb ik niets te zeggen; er is namelijk een ander programma dat lijdend is en eveneens gebruik maakt van deze database.
Het probleem is dat het ID field geen auto_increment is. Als ik dus data wil toevoegen, moet ik de maximale ID ophalen; deze id ophogen en vervolgens de data inserten. Het probleem is echter dat wanneer ik max(ID) doe, het maximum niet altijd klopt.
In de tabel staat onder de ID kolom het volgende:
Hier zie je het al fout gaan, een max(ID) geeft dus als waarde 9 terug. Als ik 9 één ophoog krijg ik 10. Deze bestaat echter al en dus krijg ik een foutmelding. Hoe kan ik hier omheen werken? Ik kan niets aan de structuur veranderen aangezien het andere programma hier al mee werkt. Hoe los ik dit probleem op?
Ik zit met de volgende situatie. Ik heb een MySQL database (innodb) met daarin een hoop tables.
Ik moet daar data in ingooien, maar over de structuur heb ik niets te zeggen; er is namelijk een ander programma dat lijdend is en eveneens gebruik maakt van deze database.
Het probleem is dat het ID field geen auto_increment is. Als ik dus data wil toevoegen, moet ik de maximale ID ophalen; deze id ophogen en vervolgens de data inserten. Het probleem is echter dat wanneer ik max(ID) doe, het maximum niet altijd klopt.
In de tabel staat onder de ID kolom het volgende:
code:
1
2
3
4
5
6
7
8
9
10
| 1 10 2 3 4 5 6 7 8 9 |
Hier zie je het al fout gaan, een max(ID) geeft dus als waarde 9 terug. Als ik 9 één ophoog krijg ik 10. Deze bestaat echter al en dus krijg ik een foutmelding. Hoe kan ik hier omheen werken? Ik kan niets aan de structuur veranderen aangezien het andere programma hier al mee werkt. Hoe los ik dit probleem op?