راکت
حل شده

دیتابیس

5 پاسخ

با سلام من در 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)
و ارتباط بین جداولم برقرار نمیشه

ثبت پرسش جدید

پاسخ‌ها

5
مهدی طهرانی
مهدی طهرانی
@mtehrani

تخصص: cloud architect

بهترین پاسخ

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

goldendata
goldendata
@goldendatanet

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

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

مهدی طهرانی
مهدی طهرانی
@mtehrani

تخصص: cloud architect

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

شاید پاسخ شما همین‌جا باشد

goldendata
goldendata
@goldendatanet

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

مهدی طهرانی
مهدی طهرانی
@mtehrani

تخصص: 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();

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

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