MySQL xử lý timestamp
theo một cách đặc biệt, điều đó hơi khó tìm trong tài liệu
khi bạn không biết mình đang tìm gì:
Điều đó có nghĩa là timestamp not null
cột sẽ nhận một giá trị mặc định ngầm định là '0000-00-00 00:00:00'
, không được phép kết hợp với NO ZERO DATE
và nghiêm ngặt
chế độ sql (được bật theo mặc định trong MySQL 5.7) và dẫn đến lỗi của bạn.
Để giải quyết vấn đề của bạn, hãy bật tùy chọn --explicit_defaults_for_timestamp
. Nó xử lý timestamp
như bạn mong đợi (và vẫn sẽ là hành vi mặc định trong một số bản phát hành MySQL trong tương lai) hoặc cho phép chúng null
.