Ошибки использования ключевого слова по умолчанию в MySQL

StackOverflow https://stackoverflow.com/questions/1652019

  •  22-07-2019
  •  | 
  •  

Вопрос

Когда я пытаюсь установить дату по умолчанию и системную дату по умолчанию, появляются следующие ошибки:

MySQL Query:

create table product_offer_type(object_id INT(19), snapshot_id INT(19), PRIMARY KEY(object_id,snapshot_id), enum_value VARCHAR(64) NOT NULL, external_name VARCHAR(64) NOT NULL, description VARCHAR(255), business_validation INT(1), valid_for_start_date_time DATE  DEFAULT '1900-01-10', valid_for_end_date_time DATE  DEFAULT '4712-01-01', mutation_date_time DATE SYSDATE, mutation_user VARCHAR(32) DEFAULT 'USER');

Сообщение об ошибке:

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 'SYSDATE, mutation_user VARCHAR(32) DEFAULT 'USER')' at line 1

Любые указатели будут высоко оценены.

Это было полезно?

Решение

Если вы пытаетесь отслеживать время последнего изменения строки, я обычно использую что-то вроде

mutation_date_time отметка времени по умолчанию current_timestamp, при обновлении current_timestamp

Вам может потребоваться небольшое изменение, если вы действительно хотите использовать дату, а не метку времени.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top