⚠️ Nguyên nhân gốc

Rất có thể MySQL đang strict mode (sql_mode) và không cho phép giá trị mặc định '0000-00-00 00:00:00' trong cột DATETIME, cụ thể là giá trị mặc định trong cột post_date.


✅ Cách xử lý (bỏ qua lỗi mặc định của post_date)

Tắt STRICT_TRANS_TABLES trong sql_mode (tạm thời)

Chạy trước câu lệnh sau để giảm bớt chế độ nghiêm ngặt:

SET sql_mode = '';

Hoặc chỉ tắt STRICT_TRANS_TABLES:

SET SESSION sql_mode = REPLACE(@@sql_mode, 'STRICT_TRANS_TABLES', '');

Rồi sau đó chạy lại câu lệnh:

ALTER TABLE `wp_posts`
ADD INDEX `post_type_post_status_post_author` (`post_type`, `post_status`, `post_author`);

Cách này không ảnh hưởng đến dữ liệu, chỉ tạm thời thay đổi chế độ để bỏ qua lỗi.