Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Khi nào sử dụng các giá trị được phân tách bằng dấu phẩy trong Cột DB?

Bạn đã biết câu trả lời.

Trước hết, mã PHP của bạn thậm chí không hoạt động vì nó chỉ hoạt động nếu người dùng 2 chỉ có một giá trị duy nhất trong LookFor hoặc Drugs. Nếu một trong hai cột này chứa nhiều giá trị được phân tách bằng dấu phẩy thì IN sẽ không hoạt động ngay cả khi những giá trị đó theo thứ tự chính xác như giá trị của Người dùng 1. Mong đợi IN sẽ làm gì nếu phía bên phải có một hay nhiều dấu phẩy?

Do đó, không dễ "" làm những gì bạn muốn trong PHP. Nó thực sự khá khó khăn và sẽ liên quan đến việc tách các trường của người dùng 2 thành các giá trị duy nhất, viết SQL động với nhiều OR để thực hiện so sánh và sau đó thực hiện một truy vấn cực kỳ kém hiệu quả để nhận được kết quả.

Hơn nữa, thực tế là bạn thậm chí cần viết mã PHP để trả lời một câu hỏi tương đối đơn giản như vậy về giao điểm của hai tập hợp có nghĩa là thiết kế của bạn có sai sót nghiêm trọng. Đây chính xác là loại vấn đề (đại số quan hệ) mà SQL tồn tại để giải quyết. Một thiết kế đúng cho phép bạn giải quyết vấn đề trong cơ sở dữ liệu và sau đó chỉ cần triển khai một lớp trình bày trên cùng bằng PHP hoặc một số công nghệ khác.

Làm đúng cách và bạn sẽ có thời gian dễ dàng hơn nhiều.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysqli không cho phép nhiều truy vấn?

  2. mysql phức tạp sql

  3. PHP gán câu lệnh select để thả xuống các giá trị danh sách

  4. Android có thể kết nối trực tiếp với MySQL mà không cần PHP không?

  5. Dữ liệu MySQL chứa các ký tự đặc biệt như š và ć, nhưng chúng được hiển thị dưới dạng '?' trên trang web. Tại sao?