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

Tôi có nên sử dụng NULL hay một chuỗi trống để biểu thị không có dữ liệu trong cột bảng không?

Tôi hoàn toàn không đồng ý với những người nói sử dụng NULL vô điều kiện. Cho phép một cột là NULL giới thiệu một trạng thái bổ sung mà bạn sẽ không có nếu bạn thiết lập cột là NOT NULL. Không làm điều này nếu bạn không cần trạng thái bổ sung. Có nghĩa là, nếu bạn không thể tìm ra sự khác biệt giữa ý nghĩa của chuỗi rỗng và ý nghĩa của null, thì hãy thiết lập cột là NOT NULL và sử dụng chuỗi rỗng để biểu diễn trống. Trình bày cùng một thứ theo hai cách khác nhau là một ý tưởng tồi.

Hầu hết những người nói với bạn sử dụng NULL cũng đưa ra một ví dụ trong đó NULL có nghĩa là một cái gì đó khác với chuỗi rỗng. Và trong những ví dụ đó, họ đúng.

Tuy nhiên, hầu hết thời gian, NULL là một trạng thái bổ sung không cần thiết chỉ buộc các lập trình viên phải xử lý nhiều trường hợp hơn. Như những người khác đã đề cập, Oracle không cho phép trạng thái bổ sung này tồn tại bởi vì nó xử lý NULL và chuỗi rỗng như nhau (không thể lưu trữ một chuỗi rỗng trong một cột không cho phép null trong Oracle).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật lược đồ bảng mà không ảnh hưởng đến dữ liệu trong Laravel

  2. Tầm quan trọng của độ dài varchar trong bảng MySQL

  3. Lưu ý:Chuyển đổi mảng thành chuỗi trong

  4. DATETIME VS INT cho thời gian lưu trữ?

  5. Nối dữ liệu vào trường cơ sở dữ liệu MySQL đã có dữ liệu trong đó