انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: جلوگیری از درج record تکراری در جدول پایگاه داده ها  (دفعات بازدید: 4208 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام
عیدتون مبارک
فرض کنید یک پرونده داریم که شامل تعداد زیادی ISBN است.
در ضمن ISBN همان شابک یا شناسه انحصاری کتاب هست.
 متاسفانه برخی ISBN ها تکراری هستند. برنامه ای مقادیر ISBN ها را از پرونده می خواند و در جدول پایگاه داده ها ذخیره می کند.

برای این که record تکراری در جدول درج نشود ستون ISBN را در جدول پایگاه داده unique قرار داده ایم. اما این ویژگی باعث توقف برنامه می شود و برنامه از پردازش بقیه record ها باز می ماند.

چه کنیم که recordهای تکراری پردازش نشوند یا حداقل در جدول پایگاه داده درج نشوند؟؟؟؟

متشکرم. خیلی ممنون...
« آخرین ویرایش: 18 امرداد 1392، 05:59 ب‌ظ توسط rahmani »
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام
یک راه ساده مانند این هست. اما من دوست داشتم پایگاه داده خودکار خودش این کار را بکند. متشکرم.
{
$query = "SELECT ISBN FROM ISBN WHERE ISBN = '$ISBN'";
$result = mysql_query( $query);
$row = mysql_num_rows($result);
if ( $row == 0 ) {

$query = "insert into ISBN values('','$ISBN','$LCNumber')";
$result = mysql_query($query) or die(mysql_error());}
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین عدس

  • Jr. Member
  • *
  • ارسال: 84
  • جنسیت : پسر
سلام
من پیشنهاد میکنم که یک فیلد دیگه به جدولتون اضافه کنید و اونو کلید قرار بدید و isbn هم مثل یک فیلد دیگه باشه .
اشک هایی که پس از هر شکست میریزیم ....
همان عرقی است که برای پیروزی نریخته ایم.
هیتلر

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4872
  • جنسیت : پسر
  • masoft قدیم
با catch می‌تونید از توقف برنامه جلوگیری کنید.

آفلاین rahmani

  • Sr. Member
  • *
  • ارسال: 291
سلام
من پیشنهاد میکنم که یک فیلد دیگه به جدولتون اضافه کنید و اونو کلید قرار بدید و isbn هم مثل یک فیلد دیگه باشه .

همین کار را کردم و isbn کلید نیست اما میخوام isbn هم تکراری نباشه ممنون
اگر در صحنه حق و باطل زمان خويش نيستي، هر جا كه خواهي باش....
 دكتر علي شزيعتي مزيناني

آفلاین عدس

  • Jr. Member
  • *
  • ارسال: 84
  • جنسیت : پسر
میتونید روی یک جدول دوتا فیلد یونیک داشته باشید . باید index بزارید .
تو sql اینجوری بود .
رو جدول توی دیاگرام راست کلیک کنید و برید تو قسمت indexes/keys و یه کلید جدید add کنید و بعد تو سمت راست صفحه میتونید columns فیلدتونو انتخاب کنید و بعد تو isunique و type میتونید یونیکش کنید .
اشک هایی که پس از هر شکست میریزیم ....
همان عرقی است که برای پیروزی نریخته ایم.
هیتلر

آفلاین عدس

  • Jr. Member
  • *
  • ارسال: 84
  • جنسیت : پسر
اشک هایی که پس از هر شکست میریزیم ....
همان عرقی است که برای پیروزی نریخته ایم.
هیتلر