Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL FIND_IN_SET() funktioniert nicht wie erwartet

Gemäß Dokumentation - FIND_IN_SET Das zweite Argument von ist eine durch Kommas getrennte Liste. Also der Wert 10, 4, 7, 1 durch ein Komma geteilt wird zu den folgenden 4 Werten:

  1. 10
  2. 4 - Leerzeichen gefolgt von 4
  3. 7 - Leerzeichen gefolgt von 7
  4. 1 - Leerzeichen gefolgt von 1

Keiner von ihnen ist gleich 1

Lösung:Hören Sie auf, diesen Ansatz zu verwenden, und normalisieren Sie Ihr Schema, um Eins-zu-Viele (oder Viele-zu-Viele) zu verwenden.