anoniem Geplaatst: 18 oktober 2003 Delen Geplaatst: 18 oktober 2003 Hallo mensen!!! ik heb in een database een enum field gemaakt met de volgende opties: 'a','b','c','A','B','C' Als ik echter de waarde als volgt instel: UPDATEteams SET MyEnum= 'A' WHERE MyKey = '3'; Dan geeft "SELECT MyEnum FROM teams WHERE MyKey = '3';" Het volgende resultaat: a, ipv A Blijkbaar is MyEnum niet hoofdlettergevoelig!!! Wat doe ik hieraan??? Thanks!!! Quote Link naar reactie
anoniem Geplaatst: 18 oktober 2003 Auteur Delen Geplaatst: 18 oktober 2003 [url=http://www.mysql.com/doc/en/ENUM.html]Lettercase is irrelevant when you assign values to an ENUM column.[/url] Bij het invoeren van een waarde in een enum-kolom wordt de eerst gevonde overeenkomstige waarde genomen (case-insensitive) Maw: in jouw voorbeeld wordt 'a' (de kleine) als eerste gevonden, ditzelfde gebeurt met 'b' en 'c'. Als je de volgorde 'a', 'B', 'c', 'A', 'b', 'C' hebt resulteerd dit in: set MyEnum = 'a' => 'a' set MyEnum = 'A' => 'a' set MyEnum = 'b' => 'B' set MyEnum = 'B' => 'B' set MyEnum = 'c' => 'c' set MyEnum = 'C' => 'c' Oplossing ? A1, A2, B1, B2, C1, C2 maakt het onderscheid iets duidelijk en gevaar voor typos stukken kleiner. Maar dit is afhankelijk van de rest van je scripts [/url] Quote Link naar reactie
anoniem Geplaatst: 18 oktober 2003 Auteur Delen Geplaatst: 18 oktober 2003 Kijk eens of je iets kunt met de BINARY operator. Ik heb het volgende wel eens gebruikt: "SELECT * FROM $table WHERE [b:57407f92f0]BINARY[/b:57407f92f0] $selector = ?"; Quote Link naar reactie
anoniem Geplaatst: 18 oktober 2003 Auteur Delen Geplaatst: 18 oktober 2003 Binary is goed idee... Maar lijkt helaas niet te helpen bij de UPDATE SET BINARY van een ENUM. :( Ga t wel op de manier van Financial doen! Bedankt mensen voor de reacties!!!!! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen