sql >> Base de Datos >  >> RDS >> Mysql

¿Puedes dividir/explotar un campo en una consulta MySQL?

Hasta ahora, quería mantener esas listas separadas por comas en mi base de datos SQL, ¡muy consciente de todas las advertencias!

Seguí pensando que tienen beneficios sobre las tablas de búsqueda (que brindan una forma de una base de datos normalizada). Después de unos días de negarme, he visto la luz :

  • Usar tablas de búsqueda NO genera más código que esas feas operaciones de cadena cuando se usan valores separados por comas en un campo.
  • La tabla de búsqueda permite formatos de números nativos y, por lo tanto, NO es más grande que esos campos csv. Sin embargo, es MÁS PEQUEÑO.
  • Las operaciones de cadena involucradas son escasas en código de lenguaje de alto nivel (SQL y PHP), pero costosas en comparación con el uso de matrices de enteros.
  • Las bases de datos no están destinadas a ser legibles por humanos, y es una estupidez tratar de apegarse a las estructuras debido a su legibilidad/edición directa, como hice yo.

En resumen, hay una razón por la cual no hay una función SPLIT() nativa en MySQL.