آفلاین
user-avatar

دیتابیس

2 سال پیش
توسط مهدی طهرانی آپدیت شد
آفلاین
user-avatar
goldendata ( 280 تجربه )
2 سال پیش

با سلام من در migrate کردن فایل دیتا بیس به مشکل بر خوردم
و با این خطا مواجه می شوم
In Connection.php line 664:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error i
n your SQL syntax; check the manual that corresponds to your MySQL server v
ersion for the right syntax to use near 'cascode' at line 1 (SQL: alter tab
le products add constraint products_attribute_id_foreign foreign key ( attribute_id) references attributes (id) on delete cascode)
و ارتباط بین جداولم برقرار نمیشه

بهترین پاسخ انتخاب شده توسط goldendata
آفلاین
user-avatar
مهدی طهرانی
2 سال پیش

@goldendatanet
شما اشتباه نوشتی خطا خطای سینتکسه! شما باید به جای cascode باید بنویسی cascade

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

@goldendatanet
شما اشتباه نوشتی خطا خطای سینتکسه! شما باید به جای cascode باید بنویسی cascade

آفلاین
user-avatar
goldendata ( 280 تجربه )
2 سال پیش

In Connection.php line 664:

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL
: alter table products add constraint products_attribute_id_foreign for
eign key (attribute_id) references attributes (id) on delete cascade)

In Connection.php line 458:

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint

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

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

@goldendatanet
شما اگه از لاراول استفاده میکنید از دستور migrate:fresh استفاده کنید اگر باز هم نشد تاریخ اول اسم مایگریشن جدول attributes رو کمتر کنید تا قبل products ساخته بشه
اگر نه از SET GLOBAL FOREIGN_KEY_CHECKS=0; استفاده کنید

آفلاین
user-avatar
goldendata ( 280 تجربه )
2 سال پیش

@haghft سلام مجدد ممنون بابت پاسخگوییتون بله من از لاراول استفاده میکنم دوروش اول جواب ندادن میشه لطفا کامل توضیح بدید که این دستور رو کجا باید قرار بدهم

آفلاین
user-avatar
مهدی طهرانی ( 18476 تجربه )
2 سال پیش
تخصص : cloud architect

@goldendatanet
دوست عزیز شما با این روش کار کن که در فایل مایگریشن قبل از اینکه شروع به تعریف فیلدها کنی Schema::disableForeignKeyConstraints(); رو بنویس و بعد از اتمامش Schema::enableForeignKeyConstraints(); بنویس.

به عنوان مثال

    Schema::disableForeignKeyConstraints(); 
        Schema::create('flights', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('airline');
            $table->timestamps();
        });
Schema::enableForeignKeyConstraints();
برای ارسال پاسخ باید وارد سایت شوید