Twilo: Mysql 4.1: Unique Frage

Hallo,

ich hatte hier schon mal ein Beitrag gestartet

dort wurde vorgeschlagen, dass ich als Datentyp tinyint nehme und anstatt 0 NULL verwende
unter MySQL 4.0 hat das auch super funktioniert...
nach ein Upgrade auf MySQL 4.1 funktioniert das leider nicht mehr

gibt es für dieses Problem eine Lösung?

ich möchte auf Datenbankebene Sicherstellen, dass nur ein Datensatz als Standard markiert ist

mfg
Twilo

  1. Moin!

    dort wurde vorgeschlagen, dass ich als Datentyp tinyint nehme und anstatt 0 NULL verwende

    Das mit tinyint hast du dir ausgedacht, das mit NULL und UNIQUE-Index war der eigentliche Vorschlag.

    unter MySQL 4.0 hat das auch super funktioniert...
    nach ein Upgrade auf MySQL 4.1 funktioniert das leider nicht mehr

    Warum nicht? Fehlermeldungen? Logfiles? Woher weißt du, dass es nicht geht?

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Hallo,

      dort wurde vorgeschlagen, dass ich als Datentyp tinyint nehme und anstatt 0 NULL verwende

      Das mit tinyint hast du dir ausgedacht, das mit NULL und UNIQUE-Index war der eigentliche Vorschlag.

      ok, tinyint ist sicherlich sinnvoller als int, oder gibt es noch ein besseren Datentyp dafür?

      unter MySQL 4.0 hat das auch super funktioniert...
      nach ein Upgrade auf MySQL 4.1 funktioniert das leider nicht mehr

      Warum nicht? Fehlermeldungen? Logfiles? Woher weißt du, dass es nicht geht?

      SQL-Befehl:

      INSERT INTO t1\_produkt\_has\_auflage ( \_produkt\_id , \_auflage\_id , \_default )
      VALUES ( 1, 2, NULL ) , ( 1, 3, NULL ) , ( 1, 4, NULL ) , ( 1, 5, NULL ) , ( 1, 6, NULL ) , ( 1, 7, NULL ) , ( 1, 8, NULL ) , ( 1, 9, NULL ) , ( 1, 1, 1 ) ;

      MySQL meldet:
      #1062 - Duplicate entry '1' for key 1

      ich schau nochmal, vielleicht luegt der Fehler ja wo anders

      mfg
      Twilo

    2. Hallo,

      das Problem lag bei mir :-(

      der Uniqe-Index war falsch gesetzt

      mfg
      Twilo