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

Enum datatype so với table data trong MySQL?

Nói chung, ENUM loại không được sử dụng trong những trường hợp này. Điều này đặc biệt đúng nếu bạn có ý định phục vụ cho việc thêm hoặc bớt vai trò một cách linh hoạt trong tương lai. Cách duy nhất để thay đổi các giá trị của ENUM là với ALTER TABLE , trong khi việc xác định vai trò trong bảng riêng của chúng sẽ chỉ yêu cầu một hàng mới trong roles bảng.

Ngoài ra, sử dụng roles bảng cho phép bạn thêm các cột bổ sung để xác định rõ hơn vai trò, chẳng hạn như description trường bạn đã đề xuất trong Tùy chọn 1. Điều này không thể thực hiện được nếu bạn sử dụng ENUM nhập như trong Tùy chọn 2.

Cá nhân tôi sẽ không chọn ENUM trong các tình huống này. Có lẽ tôi có thể thấy chúng được sử dụng cho các cột có tập hợp giá trị hoàn toàn hữu hạn, chẳng hạn như {Spades, Hearts, Diamonds, Clubs} để xác định sự phù hợp của một thẻ, nhưng không phải trong các trường hợp như thẻ được đề cập, vì những nhược điểm đã đề cập trước đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng câu lệnh like với $ wpdb-> chuẩn bị hiển thị hàm băm ở vị trí các ký tự đại diện

  2. Memcache - lưu trữ kết quả mysql

  3. Cập nhật hai hàng khác nhau trong một dòng SQL

  4. Điều đó có nghĩa là gì khi tôi nói Câu lệnh chuẩn bị được biên dịch trước?

  5. Câu lệnh CHỌN SQL động với PHP dựa trên các tùy chọn của người dùng