Не можете да използвате CURDATE() като стойност по подразбиране.
Вместо това можете да използвате колона TIMESTAMP с DEFAULT CURRENT_TIMESTAMP. Тогава ще трябва да игнорирате частта от времето.
Примерен SQL код:
CREATE TABLE dates
(
id int NOT NULL,
id_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
INSERT INTO dates (id) VALUES (1);
SELECT id, DATE(id_date) AS id_date FROM dates;
Резултат:
id id_date 1 2010-09-12