Lỗi Laravel: 1071 - Specified key was too long; max key length is 767 bytes
Lỗi này xảy ra khi dùng lệnh php artisan migrate
Nguyên nhân là những cột được string được đánh index với kiểu mã db (utf8mb4) sẽ không được vượt quá 191 ký tự.
Trong file migration database\migrations\2017_04_12_052246_create_abcxyz_table.php
có dòng $table->string('column'); nên đổi thành $table->string('column', 255);
Trong project_name\app\Providers\AppServiceProvider.php
function boot()
thêm đoạn code này vào:
Update 2017-06-11: khai báo class use Illuminate\Support\Facades\Schema;
ở đầu file nếu k sẽ bị báo lỗi nhé (Thanks Minh Hiếu Hồ)
Schema::defaultStringLength(191); // mặc định là 255
Mình áp dụng cách này ok, hi vọng bạn áp dụng thành công khi gặp lỗi này 😄
Update 2017-09-08
Với cách trên thì toàn bộ các field varchar
không liên quan sẽ bị giảm số lượng kí tự xuống còn 191 và đều đó làm bạn không hài lòng hãy làm theo cách dưới đây.
Trong thư mục database/migrations
kiểm tra các file tạo bảng. Các trường string
mà có index
hoặc unique
thì thêm tham số thứ 2 là 191 vào là ổn.
// File database\migrations\2014_10_12_000000_create_users_table.php
$table->string('email')->unique();
// Thành
$table->string('email', 191)->unique();
// File database\migrations\2014_10_12_100000_create_password_resets_table.php
$table->string('email')->index();
// Thành
$table->string('email', 191)->index();
Ủng hộ Chung Nguyễn Blog
Chung Nguyễn Blog sử dụng FlashVPS - Dịch vụ quản trị máy chủ chuyên nghiệp để quản lý VPS
#FlashVPS là dịch vụ cloud panel trên nền tảng web hỗ trợ khách hàng:
- * Quản lý máy chủ số lượng nhiều
- * Không có kinh nghiệm quản lý máy chủ
- * Thích sử dụng giao diện web đơn giản, trực quan hơn terminal
- * Quá nhàm chán với việc ghi nhớ và lặp lại việc gõ các câu lệnh
- * Muốn tự động hóa mọi thao tác
- * Muốn tiết kiệm thời gian quản trị máy chủ
- * Muốn tiết kiệm tiền bạc, nhân lực quản trị máy chủ 👉 https://flashvps.dev
Các bài viết trên website thường xuyên được đăng tải và cập nhật trên trang Facebook Chung Nguyễn Blog hãy tặng cho Chung một LIKE nhé! Mãi yêu các bạn!
813 👍
Bình luận