مشکل در insert کردن یک سطر در یک جدول
با سلام
من میخوام توی یک جدول از دیتابیس sql یک سطر رو insert کنم.مشکل من این هست که id در این جدول به صورت حودکار تولید میشه و وقتی میخوام چیزی رو insert کنم به این پیغام خطا میرسم:
Violation of UNIQUE KEY constraint IXtablename. Cannot insert duplicate key in object <tablename>'.
در صورتی که من توی دستور insert خودم، کلا فیلد id رو پر نمیکنم. دستور Insert من به صورت زیر هستش:
insert into table_name
(possCodeID,projectID,regionNumber,phaseID)
values (98765,2375,3,8787)
کلید اصلی من posscodeid هست
ممنون میشم اگر راهنماییم کنید
4 پاسخ
با سلام
دوست عزیز این دستوری که شما نوشتید مشکلی نداره ،همونطور که دوستان به اون اشاره داشتن مقداری که برای فیلد کلید جدول وارد می کنین در داخل جدولتون وجود داره،مقدار posscodeid رو تغییر بدین و دوباره امتحان کنید .
پیامی که داده میگه شما دارید فیلد کلید اصلی رو مشابه با فیلد کلید اصلی یه رکورد موجود ، درج می کنید. یعنی در حالی که posscodeid مقدار یکتا میگیره شما دارید مقداری براش درج می کنید که قبلا واسه یه رکورد دیگه درج شده
سلام دوست عزیز؛
به نظرم اگر برای فیلد possCodeID مقداری تکراری بخواد درج بشه (که دوستان فرمودن)، با توجه به اینکه شما گفتین کلید اصلیتون هست، پیغامش ...Violation Of primary key constraints باشه و خودش هم دقیقاً به مقدار تکراری اشاره میکنه.
اما در مورد خطایی که شما میگیرید، احتمالاً یا یکی از 3 فیلد دیگه تون هم Index هست و دارید مقدار تکراری براش ارسال میکنید، یا اینکه اصلاً غیر از این فیلدهایی که در Insert نوشتین، فیلد یا فیلدهای دیگه ای هم دارین که مقدار NULL می پذیرند، و در عین حال Index هم هستن، در این شرایط با عدم مقدار دهی (یا در واقع درج NULL) در صورتی که قبلاً هم مقدار NULL برای آن فیلد وجود داشته باشد، چنین خطایی پیش می آید.
موفق باشید
سلام
مقدار رو چک کردم. چنین مقداری توی جدول وجود نداره. یعنی مقداری که میخوام وارد کنم تکراری نیست.