Câu hỏi cũ, nhưng sau đây là một cách có thể giải quyết. Cơ bản là di chuyển dữ liệu thay vì đổi tên các bảng. Tất nhiên, bạn cần đảm bảo dữ liệu mới tuân thủ các quy tắc khóa ngoại.
SET foreign_key_checks = 0;
CREATE TABLE IF NOT EXISTS foo_old LIKE foo;
INSERT INTO foo_old SELECT * FROM foo;
TRUNCATE foo;
INSERT INTO foo SELECT * FROM foo_new;
Hãy chắc chắn rằng bạn chạy nó dưới dạng một truy vấn để ngoại_khoản_kiếm áp dụng cho toàn bộ nội dung. Hy vọng điều này sẽ hữu ích.