СОЗДАНИЕ ТАБЛИЦЫ С ПОЛЕ TIMESTAMP MySQL - PullRequest
0 голосов
/ 05 апреля 2020

Я пытаюсь создать таблицу с полем отметки времени, но получаю эту ошибку ОШИБКА 1064 (42000): в синтаксисе SQL возникла ошибка; обратитесь к руководству, соответствующему вашей MySQL версии сервера, чтобы узнать правильный синтаксис для использования рядом с 'DEFAULT TIMESTAMP NOT NULL, start_time TIMESTAMP NOT NULL, end_time TIME' в строке 3 Я пробовал DEFAULT CURRENT_TIMESTAMP, но он не работал. Если бы кто-нибудь мог мне помочь, было бы здорово, так как я пытался найти проблему, но ничего не смог найти.

CREATE TABLE appointment (
app_id int(5) NOT NULL AUTO_INCREMENT,
date_created DEFAULT CURRENT_TIMESTAMP NOT NULL,
start_time TIMESTAMP NOT NULL,
end_time TIMESTAMP NOT NULL,
client_id int(5),
price decmial(10,2),
cancelled tinyint(1),
treatment_id int(5) NOT NULL,
specialist_id int(5) NOT NULL,
PRIMARY KEY (client_id),
FOREIGN KEY (treatment_id) REFERENCES treatment(treatment_id),
FOREIGN KEY (client_id) REFERENCES client(client_id),
FOREIGN KEY (specialist_id) REFERENCES specialist(specialist_id)
) ENGINE=InnoDB;

1 Ответ

0 голосов
/ 05 апреля 2020

date_created не имеет типа! А ненулевым полям нужно значение по умолчанию

CREATE TABLE appointment (
app_id int(5) NOT NULL AUTO_INCREMENT,
date_created TIMESTAMP  DEFAULT CURRENT_TIMESTAMP NOT NULL,
start_time TIMESTAMP DEFAULT CURRENT_TIMESTAMPNOT NULL,
end_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
client_id int(5),
price decmial(10,2),
cancelled tinyint(1),
treatment_id int(5) NOT NULL,
specialist_id int(5) NOT NULL,
PRIMARY KEY (client_id),
FOREIGN KEY (treatment_id) REFERENCES treatment(treatment_id),
FOREIGN KEY (client_id) REFERENCES client(client_id),
FOREIGN KEY (specialist_id) REFERENCES specialist(specialist_id)
) ENGINE=InnoDB;
...