Tôi biết câu hỏi với tiêu đề này đã được trả lời trước đây, nhưng hãy đọc tiếp. Tôi đã đọc kỹ tất cả các câu hỏi/câu trả lời khác về lỗi này trước khi đăng.# 1071 - Khóa được chỉ định quá dài; độ dài khóa tối đa là 1000 byte
Tôi nhận được báo lỗi trên cho truy vấn sau đây:
CREATE TABLE IF NOT EXISTS `pds_core_menu_items` (
`menu_id` varchar(32) NOT NULL,
`parent_menu_id` int(32) unsigned DEFAULT NULL,
`menu_name` varchar(255) DEFAULT NULL,
`menu_link` varchar(255) DEFAULT NULL,
`plugin` varchar(255) DEFAULT NULL,
`menu_type` int(1) DEFAULT NULL,
`extend` varchar(255) DEFAULT NULL,
`new_window` int(1) DEFAULT NULL,
`rank` int(100) DEFAULT NULL,
`hide` int(1) DEFAULT NULL,
`template_id` int(32) unsigned DEFAULT NULL,
`alias` varchar(255) DEFAULT NULL,
`layout` varchar(255) DEFAULT NULL,
PRIMARY KEY (`menu_id`),
KEY `index` (`parent_menu_id`,`menu_link`,`plugin`,`alias`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Có ai có ý tưởng tại sao và làm thế nào để sửa chữa nó? Bắt là - cùng một truy vấn này hoạt động hoàn hảo trên máy cục bộ của tôi, và làm việc tốt trên máy chủ cũ của tôi. Btw.it từ một dự án trưởng thành - phpdevshell - vì vậy tôi đoán những người này biết họ đang làm gì, mặc dù bạn không bao giờ biết.
Bất kỳ đầu mối nào được đánh giá cao.
Tôi đang sử dụng phpMyAdmin.
Cảm ơn rất nhiều vì đã giải thích chi tiết. Ngoài việc sửa chữa một vấn đề, tôi cũng đã học được điều gì đó có giá trị. – CodeVirtuoso
Đó là một truy vấn gọn gàng, cảm ơn bạn đã chia sẻ! – yekta
Truy vấn thực sự, rất hữu ích để tìm ra độ dài mà chỉ mục sẽ được đặt. Đã sử dụng điều này một số lần để xác định độ dài tốt nhất cho một chỉ mục. Cảm ơn bạn đã chia sẻ! –