بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

چرا دو تا کلید خارجی همزمان در داخل یک Table در دیتابیس ایجاد نمیشه (حل شد)

مدیریت گفتگو
سارا 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام دوستان 

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

!trackartist INTEGER     -- Must map to an artist.artistid  رو برای دو فیلد جدول در دو خط مجزا مینویسم فقط یکی از اونها رو ایجاد میکنه و دیگری رو نادیده میگیره اصلا ستون مربوط به دومین کلید خارجی رو برام ایجاد نمیکنه . 

و با این دستور هم کلا مشکل داره و خطا میده 

(FOREIGN KEY(trackartist) REFERENCES artist(artistid

اینم جمله خطا که نشونم میده: In Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) 

چیکار کنم ؟ تو رو خدا کمک کنید کلی سرچ کردم همشون همین دو خط رو بهم یاد دادن ولی ارور میگیره . 

نظرات

سارا 10 سال پیش
من توی سرچ هام فهمیدم که دو تا جدولی که میخوام از آیدی اونها برای جدول جدیدم کلید خارجی بگیرم نباید خودشون دارای کلید خارجی باشن ولی این برای پروژه من لازمه که خود جدول هایی که میخوام الان ازشون آیدیشونو بگیرم بعنوان کلید خارجی خودشون هم به یه جدول دیگه کلید خارجی دارن . چطور میتونم با وجود کلید خارجی در یک جدول خود این جدول رو مبدا قرار بدم و توی یه جدول دیگه از فیلدهای این جدول استفاده کنم؟
سارا 10 سال پیش
من توی سرچ هام فهمیدم که دو تا جدولی که میخوام از آیدی اونها برای جدول جدیدم کلید خارجی بگیرم نباید خودشون دارای کلید خارجی باشن ولی این برای پروژه من لازمه که خود جدول هایی که میخوام الان ازشون آیدیشونو بگیرم بعنوان کلید خارجی خودشون هم به یه جدول دیگه کلید خارجی دارن . چطور میتونم با وجود کلید خارجی در یک جدول خود این جدول رو مبدا قرار بدم و توی یه جدول دیگه از فیلدهای این جدول استفاده کنم؟
سارا 10 سال پیش
من توی سرچ هام فهمیدم که دو تا جدولی که میخوام از آیدی اونها برای جدول جدیدم کلید خارجی بگیرم نباید خودشون دارای کلید خارجی باشن ولی این برای پروژه من لازمه که خود جدول هایی که میخوام الان ازشون آیدیشونو بگیرم بعنوان کلید خارجی خودشون هم به یه جدول دیگه کلید خارجی دارن . چطور میتونم با وجود کلید خارجی در یک جدول خود این جدول رو مبدا قرار بدم و توی یه جدول دیگه از فیلدهای این جدول استفاده کنم؟
سارا 10 سال پیش
من توی سرچ هام فهمیدم که دو تا جدولی که میخوام از آیدی اونها برای جدول جدیدم کلید خارجی بگیرم نباید خودشون دارای کلید خارجی باشن ولی این برای پروژه من لازمه که خود جدول هایی که میخوام الان ازشون آیدیشونو بگیرم بعنوان کلید خارجی خودشون هم به یه جدول دیگه کلید خارجی دارن . چطور میتونم با وجود کلید خارجی در یک جدول خود این جدول رو مبدا قرار بدم و توی یه جدول دیگه از فیلدهای این جدول استفاده کنم؟
سارا 10 سال پیش
من توی سرچ هام فهمیدم که دو تا جدولی که میخوام از آیدی اونها برای جدول جدیدم کلید خارجی بگیرم نباید خودشون دارای کلید خارجی باشن ولی این برای پروژه من لازمه که خود جدول هایی که میخوام الان ازشون آیدیشونو بگیرم بعنوان کلید خارجی خودشون هم به یه جدول دیگه کلید خارجی دارن . چطور میتونم با وجود کلید خارجی در یک جدول خود این جدول رو مبدا قرار بدم و توی یه جدول دیگه از فیلدهای این جدول استفاده کنم؟
k112 10 سال پیش
نرمالسازی .... خب طراحی بانک شما غلط بوده و دچار ایراداتی هست از اول طراحی کنید کلید خارجی باید کلید اصلی یک جدول دیگه باشه نه خارجی ....
k112 10 سال پیش
نرمالسازی .... خب طراحی بانک شما غلط بوده و دچار ایراداتی هست از اول طراحی کنید کلید خارجی باید کلید اصلی یک جدول دیگه باشه نه خارجی .... بهرحال اگر طراحی جدول ها مشکلی نداشته باشه کدها مشکلی ندارن
k112 10 سال پیش
نرمالسازی .... خب طراحی بانک شما غلط بوده و دچار ایراداتی هست از اول طراحی کنید کلید خارجی باید کلید اصلی یک جدول دیگه باشه نه خارجی .... بهرحال اگر طراحی جدول ها مشکلی نداشته باشه کدها مشکلی ندارن
سارا 10 سال پیش
هر دو فیلدم که توی جدول مقصدم کلید خارجی هستند توی جداول مبداشون کلید اصلی اند واقعا موندم چیکار کنم هر کدوم از فیلد ها که دستورش !trackartist INTEGER -- Must map to an artist.artistid رو توی Create Table بالاتر مینویسم اونو برام میسازه و پایینی رو نادیده میگیره . یعنی دستور بالا رو فقط برای یک بار توی جدولم میبینه و فقط یک فیلد ساخته میشه که کلید خارجیه و دومین کلید خارجی انگاری هیچ دستوری براش ننوشتم اصلا اعمال نمیشه . یعنی میتونه از این دستور باشه؟

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .