PDA

View Full Version : سوال: foreign key Allow Null



el_abdollahi
چهارشنبه 22 اردیبهشت 1389, 12:10 عصر
با سلام
من زمان طراحی یه جدول به کلیدهای خارجی اجازه null بودن رو میدم
ولی چرا موقع وارد کردن داده در جدول در صورت null بودن کلیدهای خارجی error میده؟

محمد سلیم آبادی
چهارشنبه 22 اردیبهشت 1389, 13:56 عصر
سلام،
این مساله نبایستی اتفاق بی افتد. امکان داره پیغام error و کدی را که برای درج استفاده می کنید را پست کنید؟

el_abdollahi
پنج شنبه 23 اردیبهشت 1389, 13:28 عصر
ممنون از ‍پاسختون
تصویر جدول و خطایی که میده رو گذاشتم

محمد سلیم آبادی
پنج شنبه 23 اردیبهشت 1389, 19:07 عصر
این پیغام مشخص کرده که سعی در درج مقداری دارین که در کلید متناظر وجود نداره.
اگر واقعا error مربوط به مقدار null بود پیغامی مربوط به Allow Null داده میشد.
کدی که با آن سطر مورد نظر را INSERT می کنید را ارسال کنید.

el_abdollahi
شنبه 25 اردیبهشت 1389, 09:28 صبح
مثلا این کد این خطا رو میده :


Insert Into tbl_codes
(kla4No,[cd_minCount],[cd_maxCount],[cd_orderPoint])
Values
(231010002,1,2,3)


ولی مثلا وقتی که من از طریق خود sql هم میخوام توی جدول داده وارد کنم و روی فیلدهایی که نمیخوام بهشون مقدار بدم با تب پرش میکنم هم این خطا رو میده.

pezhvakco
شنبه 25 اردیبهشت 1389, 11:16 صبح
درود :
این خطا مربوط به ساختار تعریف کلید خارجی شما است .

شما برای ارتباط دو جدول با هم از یه کلید استفاده کردی و مقدار آن باید تابع شرایط دو جدول باشه .

فکر خوش .

el_abdollahi
شنبه 25 اردیبهشت 1389, 13:48 عصر
میشه بیشتر توضیح بدین. من باید چی رو چک کنم؟

محمد سلیم آبادی
شنبه 25 اردیبهشت 1389, 18:07 عصر
مثلا این کد این خطا رو میده :


Insert Into tbl_codes
(kla4No,[cd_minCount],[cd_maxCount],[cd_orderPoint])
Values
(231010002,1,2,3)


ولی مثلا وقتی که من از طریق خود sql هم میخوام توی جدول داده وارد کنم و روی فیلدهایی که نمیخوام بهشون مقدار بدم با تب پرش میکنم هم این خطا رو میده.

شما داشتین در مورد NULL صحت می کردین ولی الان من در مقادیر Null ای نمی بینم.
شما مقدار ستون خارجی هم به طور صریح با مقدار NULL مقدار دهی کنید (ممکنه برای ستون خارجی کلید default در نظر گرفته بایشین یا همچین چیزهایی):

Insert Into tbl_codes
(cat_id, kla4No,[cd_minCount],[cd_maxCount],[cd_orderPoint])
Values
(NULL, 231010002,1,2,3)