Я использую MySQL (никто не совершенен), версия 4.1, и я используется для определения некоторых временных меток столбцов так:Определить значение по умолчанию даты в MySQL, похожий на отметку времени
ALTER TABLE foo ADD creation TIMESTAMP DEFAULT NOW() ;
Я хотел бы делать то же самое, но для поля DATE. Причина в том, что мне не нужна точность TIMESTAMP, и поскольку в MySQL нет функционального индекса, я не могу быстро получить доступ к строкам с заданной датой (независимо от времени суток). Так что я попытался следующие, но это просто не работает:
ALTER TABLE foo ADD creation_date DATE DEFAULT CURDATE() ;
ERROR 1067 (42000): Invalid default value for 'creation_date'
или даже
ALTER TABLE foo ADD creation_date DATE DEFAULT DATE(NOW()) ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(now())' at line 1
Что не работает.
Любые идеи?
Hum, так что нет чистого раствора MySQL для 4.1? – jeje
Установите дату, используя CURDATE(), когда вы ВСТАВЛЯЕТЕ ИЛИ ОБНОВЛЯЕТ строку. –
Yep .. Решение на стороне клиента :( – jeje