تا %60 تخفیف خرید برای 6 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

رفع Error آپدیت جدول در SQL

در بانک اطلاعاتی SQL اگر جدولتون Primary key نداشته باشه هر ردیف یا Row به صورت یونیک یا Unique شناسایی میشه بنا براین اگر داده تکراری (حداقل دو ردیف) داشته باشید شما امکان آپدیت جدول رو ندارید یعنی نه تغییر در محتوای فیلد ها و نه پاک کردن اون ردیف که اگر این کا رو انجام بدید با پیغام زیر رو برو میشید.

No row was updated.
The data in row 3 was not committed.
Error Source: Microsoft.VisualStudio.DataTools.
Error Message: The row value(s) updated or deleted either do not make the row unique or they alter multiple rows(3 rows).
Correct the errors and retry or press ESC to cancel the change(s).

خطا در پاک کردن یک رکورد در جدول SQL

یه مثال میزنم تا قابل درک باشه :

به فرض ما یک جدول داریم که 2 تا فیلد داره و همچنین 3 رکورد داخلش ثبت شده حالا دو تا از این ردیف ها مقادیرشون با هم یکسان هست اگر بخواهیم تغییر در اون محتوای تکراری بدیم یا یکی از اون ردیف ها رو پاک کنیم SQL از کجا باید متوجه بشه شما ردیف اول منظورتون هست یا دوم؟ به همین علت هست که update شما رو Rollback کرده و با اون خطا مواجه میشید.

جهت رفع مشکل فوق میتونید یک کلید Unique به جدول اضافه کنید اما این کار قبل از ورود داده ها به جدول هست اگر این کار رو قبل از ورود داده ها انجام دهید مشکلی نست اما بعدش بخواهید این کار رو کنید با خطا مواجه میشید و نمیتونید یکی از فیلد ها رو unique کنید ، اما راه دیگه ای هم هست اینکه مثلاً یک ID به جدول اضافه کرده ، Allow Nulls تیک نخورده باشه و سپس اونو IDENTITY تعریف کنید از نوع int که هر سری خودش اتوماتیک یک واحد بهش اضافه کنه اینجوری SQL بدون اررور محتوای جدول شما رو Update میکنه.

موفق باشید.

فرهاد خانلری از انجمن تخصصی فناوری اطلاعات ایران

نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند
تنظیمات حریم خصوصی
تائید صرفنظر