انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: rahmani در 18 امرداد 1392، 02:25 بظ
-
سلام
عیدتون مبارک
فرض کنید یک پرونده داریم که شامل تعداد زیادی ISBN است.
در ضمن ISBN همان شابک یا شناسه انحصاری کتاب هست.
متاسفانه برخی ISBN ها تکراری هستند. برنامه ای مقادیر ISBN ها را از پرونده می خواند و در جدول پایگاه داده ها ذخیره می کند.
برای این که record تکراری در جدول درج نشود ستون ISBN را در جدول پایگاه داده unique قرار داده ایم. اما این ویژگی باعث توقف برنامه می شود و برنامه از پردازش بقیه record ها باز می ماند.
چه کنیم که recordهای تکراری پردازش نشوند یا حداقل در جدول پایگاه داده درج نشوند؟؟؟؟
متشکرم. خیلی ممنون...
-
سلام
یک راه ساده مانند این هست. اما من دوست داشتم پایگاه داده خودکار خودش این کار را بکند. متشکرم.
{
$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());}
-
سلام
من پیشنهاد میکنم که یک فیلد دیگه به جدولتون اضافه کنید و اونو کلید قرار بدید و isbn هم مثل یک فیلد دیگه باشه .
-
با catch میتونید از توقف برنامه جلوگیری کنید.
-
سلام
من پیشنهاد میکنم که یک فیلد دیگه به جدولتون اضافه کنید و اونو کلید قرار بدید و isbn هم مثل یک فیلد دیگه باشه .
همین کار را کردم و isbn کلید نیست اما میخوام isbn هم تکراری نباشه ممنون
-
میتونید روی یک جدول دوتا فیلد یونیک داشته باشید . باید index بزارید .
تو sql اینجوری بود .
رو جدول توی دیاگرام راست کلیک کنید و برید تو قسمت indexes/keys و یه کلید جدید add کنید و بعد تو سمت راست صفحه میتونید columns فیلدتونو انتخاب کنید و بعد تو isunique و type میتونید یونیکش کنید .
-
http://www.howtoforge.com/when-to-use-indexes-in-mysql-databases
http://www.tutorialspoint.com/mysql/mysql-indexes.htm
سرچ کنی پیدا میکنی .