Giả sử bạn có một ứng dụng có trường boolean trong User
bảng được gọi Inactive
.
Có bất cứ điều gì vốn đã sai khi chỉ lưu trữ sai là null? Nếu vậy bạn có thể vui lòng giải thích những gì xuống phía dưới? Tôi đã thảo luận điều này với ai đó vài tháng trước và cả hai chúng tôi đều đồng ý rằng điều đó không quan trọng miễn là bạn làm điều đó một cách nhất quán trong toàn bộ ứng dụng / cơ sở dữ liệu. Gần đây, một người mà tôi biết đã nhấn mạnh rằng "đúng" true
hoặc false
nên được sử dụng, nhưng họ không thực sự đưa ra lời giải thích về lý do tại sao.
SELECT * FROM foo WHERE bar = FALSE
không đưa ra kết quả mà bạn mong đợi.
Null is a special marker used in Structured Query Language (SQL) to indicate that a data value does not exist in the database
đây là sự khôn ngoan được chấp nhận và bạn không nên xác định lại ý nghĩa của Null trong ứng dụng của bạn. Nó sẽ gây nhầm lẫn cho mọi người khác làm việc với mã của bạn.