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

Nhiều tùy chọn hộp kiểm được lưu trữ vào một trường duy nhất trong cơ sở dữ liệu

Như Jrod đã chỉ ra bằng cách sử dụng LIKE từ khóa có thể sẽ đáp ứng nhu cầu của bạn.

Tuy nhiên, có một lưu ý nhỏ là có những cách khác có thể tốt hơn về lâu dài.

Mối quan hệ 1-N

Nếu bạn có các kỹ năng của mình trong một bảng riêng biệt thì bạn có thể kết nối chúng theo mối quan hệ một với nhiều, điều đó có nghĩa là bạn có thể truy vấn theo kỹ năng và sau đó tham gia cùng những người có liên quan vào truy vấn. Điều này sẽ cho phép bạn có nhiều truy vấn phức tạp hơn, chẳng hạn như có thể tìm kiếm nhiều hơn một kỹ năng phù hợp hoặc kỹ năng đối sánh có điều kiện nhưng không phải kỹ năng khác.

Cờ bit

Như bạn nói chúng là các hộp kiểm, tôi giả sử rằng kỹ năng của bạn bị hạn chế (bởi số lượng hộp kiểm) một cách tiếp cận khác là sử dụng một số nguyên và cờ sử dụng bit - ví dụ:

  • Java =1
  • C ++ =2
  • Lisp` =4
  • haskell =8
  • Python =16

Việc thêm giá trị tích lũy từ tất cả các hộp kiểm của bạn và lưu trữ giá trị này dưới dạng số nguyên sẽ cho phép bạn truy vấn cơ sở dữ liệu bằng cách sử dụng bitwise VÀ (&)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL SUM () đưa ra tổng số không chính xác

  2. Chạy nhiều tập lệnh PHP cùng lúc (vấn đề về vòng lặp cơ sở dữ liệu)

  3. flask-login:không thể hiểu nó hoạt động như thế nào

  4. lỗi cú pháp trên DECLARE CURSOR FOR

  5. Truy vấn nối mọi thứ thành một hàng thay vì thành các hàng riêng biệt