Opened 3 years ago
Last modified 2 years ago
#2391 new Aufgabe
UNIQUE KEY auf products_model ?
| Reported by: | noRiddle | Owned by: | somebody |
|---|---|---|---|
| Priority: | normal | Milestone: | modified-shop-2.0.9.0 |
| Component: | Shop | Version: | 2.0.7.2 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Wäre es nicht sinnvoll den KEY auf products_model in der DB-Tabelle products UNIQUE zu machen ?
Das dürfte auch für diverse Anwendungen und Wawi-Anbindungen vorteilhaft sein.
Es wäre zusätzlich lediglich bei der Artikelbearbeitung eine kleine Routine einzubauen, die eine Meldung ausgibt, wenn man eine Artikelnummer vergibt die es bereits gibt. Das dürfte den Speichervorgang nur unwesentlich verlangsamen (getestet mit einer DB mit über 1.000.000 Records in products).
Gruß,
noRiddle
Attachments (0)
Change History (4)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
Eine zusätzliche Routine für Schop-Betreiber die keine Artikelnummern verwenden wäre nicht nötig.
Bei Nicht-Vergabe einer Artikelnummer muß diese in der DB dann den Wert NULL haben. Im Gegensatz zu PRIMARY KEYs sind NULL-Values bei UNIQUE KEYs möglich.
Allerdings muß man die Sache trotzdem wohl sehr gut abwägen.
Was geschieht bei einem UNIQUE KEY auf products_model wenn jemand einen automatisierten Import verwendet und dort versehentlich Artikelnummern mehrfach vorkommen. MySQL wirft dann einen Error.
Einfach mit "ON DUPLICATE KEY UPDATE" zu arbeiten wäre zu heikel.
Also, als Modul sicher sinnvoll.
Gruß,
noRiddle
comment:3 by , 3 years ago
| Milestone: | modified-shop-2.0.8.0 → modified-shop-2.0.9.0 |
|---|
comment:4 by , 2 years ago
Man könnte nach dem Import mit so einem Fehler auch die Artikel ausgeben lassen, bei denen kein Eintrag in products_model vorhanden ist. Bei der Artikelbearbeitung müsste man das ggf anders abfangen.

Darüber habe ich in der Tat schon mal nachgedacht. Allerdings gibt es etliche Kunden die keine Artikelnummer verwenden. Für diese müsste man dann noch eine zusätzliche Routine erstellen, damit der Index überhaupt gesetzt werden kann.
Wenn dann wäre hier ein Modul deutlich sinnvoller, das aktiviert werden kann oder eben nicht.