Morteza14
3 سال پیش توسط Morteza14 مطرح شد
4 پاسخ

1406 Data too long for column

مفهوم این خطا چیه؟
و راه حلش؟
SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'slug' at row 1 (SQL: update articles set slug =

@ali.bayat
@hesammousavi
@mhyeganeh
@Rp76
@milad


ثبت پرسش جدید
Morteza14
تخصص : برنامه نویس لاراول
@morteza14 3 سال پیش مطرح شد
0

مشکل تو بخش فرانت بود
اتریبیوت name داخل تگ slug اشتباها هم نام اتریبیوت name توضیحات خورده بود


مهدی شاه عباسیان
تخصص : برنامه نویس
@shahabbasian 3 سال پیش آپدیت شد
0

دیتایی که میخواید ذخیره کنید از طول رشته که در مایگریشن یا به صورت دستی در جدول تایین کردید بزرگتره

اگر از مایگریشن در لاراول استفاده میکنید طول رشته را برای ستون slug بیشتر کنید:

$table->string('slug', 255)

و یا به صورت دستی در phpmyadmin مقدار Length/Values ستون slug را بیشتر کنید

و یا متن کوتاهتری در این ستون ذخیره کنید که تعداد کاراکترش بیشتر از length ستون slug نباشه


Morteza14
تخصص : برنامه نویس لاراول
@morteza14 3 سال پیش مطرح شد
0

خواستم از phpmyadmin اصلاحش کنم ولی این خطارو میده

توضیح تصویر رو وارد کنید

@mehdi.shahabbasian


مهدی شاه عباسیان
تخصص : برنامه نویس
@shahabbasian 3 سال پیش آپدیت شد
0

به پوشه app/Providers/ مراجعه کنید و فایل AppServiceProvider.php را ویرایش کنید:

ابتدا کلاس زیر را use

use Illuminate\Support\Facades\Schema;

و بعد متد زیر را ویرایش کنید:

public function boot()
{
    Schema::defaultStringLength(255);
}

حالا از طریق مایگریشن جدول رو بسازید.

اگر باز هم مشکل پا برجا بود لازمه که با terminal به دیتابیس وصل بشید: (فرض میگیرم که نام کاربری دیتابیس root و رمز خالی است

$ mysql -u root -p

و بعد دستور زیر را بترتیب بزنید:

SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=on;
SET GLOBAL innodb_large_prefix=on;

من در لینوکس کار میکنم و نمیتونم با phpmyadmin این دستوراتو بزنم اما ممکن هم هست که شما در ویندوز دارید کار میکنید براتون قابل ویرایش باشه پس یکبار در خود phpmyadmin رو جدولتون برید و از تب های بالا SQL و دستورات بالا رو یکی یکی در کادرش بزنید و GO


Morteza14
تخصص : برنامه نویس لاراول
@morteza14 3 سال پیش مطرح شد
0

مشکل تو بخش فرانت بود
اتریبیوت name داخل تگ slug اشتباها هم نام اتریبیوت name توضیحات خورده بود


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام