Hallo
in einer kleinen Datenbank, die Personen beinhaltet, habe ich die Fremdsprachenkenntnisse in einem SET-Feld gespeichert:
das halte ich persönlich für eine schlechte Designentscheidung.
CREATE TABLE
person
(
sprache
set('Englisch','Deutsch','Französisch'),
...
)
Für so etwas muss es doch eine vernünftige Syntax geben, oder?
äh, wie bitte? Verwende ein vernünftiges Tabellendesign - und Du hast kein Problem :-) Das Hinzufügen einer weiteren Sprache erfordert eine Änderung der Tabellenstruktur - das ist richtig toll!
Wenn Du bei Deinem kaputten Design bleiben willst, dann verwende eine dazu passende Funktion. Wie findet man die? Im Handbuch natürlich. Daher:
- Geh zum MySQL-Handbuch, klick
Wie könnte es weitergehen? Ach, da gibt es ja eine Navigation. Is ja toll.
2) Wähle in der Navigation den Eintrag "Funktionen und Operatoren", klick
Und nu? Gibts ja viele Bereiche von Funktionen :-(
Da Du SET verwendest, weißt Du, dass es sich bei SET um einen Stringtyp handelt.
3) Wähle die Stringfunktionen aus, klick
Jesses, viele, viele Funktionen. Schlimm! Wie soll man da den Überblick behalten?
Schau Dir halt die Kurzbeschreibung eine nach der anderen an.
4) Da gibt es in der Tat die Funktion FIND_IN_SET, klick.
Was ist daran so schwierig, dass Du gescheitert bist?
Freundliche Grüße
Vinzenz, der SET so gut wie nie verwendet.