Folgendes Problem habe ich derzeit: Wenn ich eine Tabelle mit Kollation utf8-general-ci habe, dann ist ein SQL-Select case-insensitive. Soweit so akzeptabel. Um den Select case-sensitive zu machen, brauche ich ja nur das Key-Wort BINARY zu nutzen: SELECT * FROM userid WHERE BINARY user_id = 'ABC'. Schon bekomme ich auch wirklich nur "ABC" zurück und nicht z.B. "abc".
Aber was tue ich, wenn ich "abc" anlegen will? INSERT INTO userid SET user_id = 'abc' führt zu einem Duplicate-Key. Das Naheliegenste für mich wäre jetzt gewesen, dass ich ebenfalls das KEY-Wort BINARY irgendwo setzen muss, aber das akzeptiert er nirgendwo.
Komme ich nicht darum herum, die Tabellen-Definition zu ändern, oder gibt es doch die Möglichkeit, das BINARY irgendwo direkt im Insert unterzubringen?
Aber was tue ich, wenn ich "abc" anlegen will? INSERT INTO userid SET user_id = 'abc' führt zu einem Duplicate-Key. Das Naheliegenste für mich wäre jetzt gewesen, dass ich ebenfalls das KEY-Wort BINARY irgendwo setzen muss, aber das akzeptiert er nirgendwo.
Komme ich nicht darum herum, die Tabellen-Definition zu ändern, oder gibt es doch die Möglichkeit, das BINARY irgendwo direkt im Insert unterzubringen?
Comment