xin vui lòng có một cái nhìn tại bảng sau:postgres: ràng buộc kiểm tra và các giá trị null
name | x | y
---------+-----+------
foo | 3 | 5
bar | 45 | 99
foobar | 88 |
barfoo | 0 | 45
Tôi muốn thêm một ràng buộc kiểm tra (y> x), nhưng đây rõ ràng là sẽ thất bại do nó bị vi phạm bởi hàng 'foobar'.
Làm cách nào để tạo một ràng buộc cho biết: kiểm tra (y> x), nhưng chỉ khi y không null?
này chỉ đơn giản là không cần thiết. Trích dẫn từ hướng dẫn sử dụng PostgreSQL: * Cần lưu ý rằng ràng buộc kiểm tra được thỏa mãn nếu biểu thức kiểm tra đánh giá đúng hoặc giá trị null. Vì hầu hết các biểu thức sẽ đánh giá giá trị null nếu bất kỳ toán hạng nào là null, chúng sẽ không ngăn các giá trị null trong các cột bị ràng buộc. * (Http://www.postgresql.org/docs/8.1/static/ddl-constraints.html) –