Cho đến bây giờ, tôi muốn giữ các danh sách được phân tách bằng dấu phẩy đó trong db SQL của mình - nhận thức rõ ràng về tất cả các cảnh báo!
Tôi tiếp tục nghĩ rằng chúng có những lợi ích so với bảng tra cứu (cung cấp một cách thức đến cơ sở dữ liệu chuẩn hóa). Sau vài ngày từ chối, Tôi đã nhìn thấy ánh sáng :
- Việc sử dụng bảng tra cứu KHÔNG gây ra nhiều mã hơn các hoạt động chuỗi xấu xí đó khi sử dụng các giá trị được phân tách bằng dấu phẩy trong một trường.
- Bảng tra cứu cho phép các định dạng số tự nhiên và do đó KHÔNG lớn hơn các trường csv đó. Tuy nhiên nó NHỎ HƠN.
- Các hoạt động chuỗi liên quan rất mỏng trong mã ngôn ngữ cấp cao (SQL và PHP), nhưng đắt tiền so với việc sử dụng mảng số nguyên.
- Cơ sở dữ liệu không có nghĩa là con người có thể đọc được và thật ngu ngốc khi cố bám vào các cấu trúc do tính dễ đọc / khả năng chỉnh sửa trực tiếp của chúng, như tôi đã làm.
Tóm lại, có một lý do tại sao không có hàm SPLIT () gốc trong MySQL.