2012-11-15 29 views
12

Có một SO tuyệt vời trên chuỗi rỗng rỗng so với NULL ở đây, MySQL, better to insert NULL or empty string?, tuy nhiên nó không tính đến tính đồng nhất của tài khoản - nghĩa là nếu bạn muốn chỉ có một lựa chọn trong bảng của bạn (tức là chuỗi rỗng HOẶC NULL), nó nên là gì?MySQL có thể tự động chuyển đổi chuỗi rỗng thành NULL không?

Câu hỏi của tôi là, tôi có thể nhận được MySQL để tự động lưu trữ các chuỗi rỗng dưới dạng NULL không?

Sau khi đọc SO trước, tôi thường có khuynh hướng lưu trữ NULL nhưng vấn đề là tôi có rất nhiều biểu mẫu PHP với các trường tùy chọn và (khi để trống) các chuỗi rỗng trả lại.

Trả lời

26

Bạn có thể gửi kèm theo chuỗi của bạn với NULLIF()

Bạn sử dụng nó như thế này:

NULLIF('test','') --> returns 'test' 
NULLIF('' ,'') --> returns NULL 
+0

[NULLIF] (http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_nullif) – Andrei

1

Ngoài ra để NULLIF bạn có thể thiết lập mặc định để NULL và chỉ cần không vượt qua cánh đồng trống cùng.

Các vấn đề liên quan