| | |
|
|
|
|
RackTables: "such record already exists" |
|
|
|
Nach einem größeren Versionssprung von RackTables konnte ich seltsamerweise keine neuen Dictionary-Einträge mehr hinzufügen. Ich bekam, egal bei welchem Fantasie-String, nur noch diesen Fehler um die Ohren geworfen:
Zitat: | Database error: such record already exists |
Ein ähnliches, wenn nicht sogar das gleiche Problem, ist im Bugtracker des Projekts (#2047) auffindbar, jedoch ohne Lösung.
In meinem Fall half ein Blick in die Datenbank-Tabelle Dictionary: Der AUTO_INCREMENT-Zähler wurde wohl beim Löschen von Einträgen auf einen niedrigeren Wert zurückgesetzt, wodurch das Anlegen von neuen Einträgen scheiterte.
Die Lösung ist bei MySQL/MariaDB relativ simpel: Der Wert muss einfach angepasst werden! Entweder manuell oder für alle Faulen...
Code: SET @max := (SELECT (MAX(`dict_key`) + 1) FROM `Dictionary`);
SET @sql = CONCAT('ALTER TABLE `Dictionary` AUTO_INCREMENT = ', @max);
PREPARE s FROM @sql;
EXECUTE s; |
Damit wird die höchste ID in der Tabelle ausgelesen und der AUTO_INCREMENT-Wert auf diesen Wert (+1) gesetzt. (ACHTUNG: Sollte man gar keine benutzerdefinierten Einträge haben, fliegt einem die automatische Lösung um die Ohren! Die benutzerdefinierten IDs dürfen nämlich erst ab 50000 beginnen. Darunter sind ausschließlich vorgegebene Einträge vorhanden, deren IDs für zukünftige Updates reserviert sind.)
Reproduzieren konnte ich das falsche Verhalten leider (oder zum Glück) nicht mehr, deshalb gibt es auch keinen neuen Bug-Report bei RackTables.
|
Dieser Beitrag wurde insgesamt 3 mal geändert. Zuletzt am 01.08.2022, 20:48. |
Nach oben |
|
Kommentare: 0 |
Kommentare sind deaktiviert |
|
Autor |
Nachricht |
Für diesen Beitrag können zur Zeit keine neuen Kommentare verfasst werden. Kontaktiere den Autor des Beitrages, falls du Fragen dazu hast. |
Verwendete Zeitzone: CET (Europe/Berlin ) Aktuelles Datum & Uhrzeit: 11.12.2024, 02:02 |
Nach oben |
|
|
|
|
|
|
| | |