2011-01-06 59 views
6

Làm cách nào để tạo giá trị mặc định của cột bằng ngày hiện tại + 30 ngày trong MySQL? Ví dụ, nếu ngày hiện tại là 10-1-2011 thì giá trị cột phải được chèn vào là 9-2-2011.Chèn giá trị mặc định làm ngày hiện tại + 30 ngày trong MySQL

+2

Chấp nhận một số câu trả lời trước, bạn sẽ kiếm được danh tiếng và nhận được câu trả lời tốt hơn trong tương lai. – fredley

Trả lời

6

Nếu bạn đang sử dụng MySQL> = 5.0, sử dụng một kích hoạt:

CREATE TRIGGER setDefaultDate 
    BEFORE INSERT ON tableName 
    FOR EACH ROW 
    SET NEW.date = ADDDATE(curdate(), INTERVAL 30 DAY); 

Các trigger sẽ kích hoạt khi bạn chèn vào tableName, thiết date đến nay + 30 ngày. Nếu chèn của bạn đặt ngày, nó sẽ ghi đè lên mặc định này do BEFORE. Ngày được tính bằng ADDDATE.

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