PDA

View Full Version : id. در دیتابیس



arash_saye
یک شنبه 24 آذر 1392, 18:47 عصر
سلام دوستان
من یه دیتابیس دارم که توش دوتا ردیف id و nam. دارم
ای دی رو توی دیتابیس عدد صحیح انتخاب کردم
حالا تولیست ویو ردیف نام رو نشون میده که می تونم حذفش کنم
حالا اگه مثلا ردیف 4 رو حذف کنم توی دیتابیس جای ای دی 4 می مونه یعنی ایدی ها به صورت 1,2,3,5,6,.... هست
اما من می خوام باحذفش ترتیب اعدادحفظ بشه یعنی ردیف 5 بیاد جای 4 و ایدیش هم بشه 4 و .....
حالا باید تودیتابیس ایدی رو چیز دیگه ای معرفی کنم یا توبرنامه کدی بنویسم که این کار روانجام بده
ممنون می شم کمک کنید

rubiks.kde
یک شنبه 24 آذر 1392, 23:06 عصر
چرا میخواهید اینکار رو انجام بدید؟چون نمیتونید بعدش حذف کنید؟

arash_saye
دوشنبه 25 آذر 1392, 06:11 صبح
نه
چون از ایدی ها استفاده می کنم توی یه قسمتیش و لازمه درست باشه

rubiks.kde
دوشنبه 25 آذر 1392, 13:43 عصر
باز هم متوجه نشدم.ولی موقعی که دارید لیست رو از پایگاه داده پر میکنید آیدی اون رو بیارید .

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

arash_saye
دوشنبه 25 آذر 1392, 18:05 عصر
دوست عزیز من دارم از ایدی استفاده می کنم مثلا ایدی زوجم یه کار و ایدی که فرده یه کار
حال اگه یکی حذف بشه ردیف بهم می خوره
امیدوارم گرفته باشین چی گفتم

rubiks.kde
دوشنبه 25 آذر 1392, 23:23 عصر
متوجه کارتون هستم ولی دارید سربار برنامه تون رو زیاد میکنید .
به هر حال با کوئری زیر بعد از اجرا این کاری که میخواهید صورت میگیره

UPDATE Books SET id = id - 1 WHERE id > 4

بعد از اینکه 4 رو پاک کنید و کوئری بالا رو اجرا کنید تمام آی دی های بزرگ تر از اون یکی به پایین شیفت میخورن.
اسم جدولم book است.

حالا شما بعد از پاک کردن هرکدوم بجای 4 آیدی پاک شده رو بزارید.

arash_saye
سه شنبه 26 آذر 1392, 06:14 صبح
ممنون از جوابتون
اما من بیش از 20 هزار ردیف دارم
وبرای اینکار این امکان پذیرنیست باتوجه به اینکه نمیدونم کدوم ردیف حذف میشه
یعنی بیست هزار خط فرمان من بنویسم ...!!!!!
میشه این فرمان رو یه جوری نوشت که کلی باشه

hamid_hr
سه شنبه 26 آذر 1392, 08:53 صبح
ببينيد اگه برا اون اي دي identity رو فعال كردين كه اينطوري نميشه
ولي اگه فعال نيس ميتوني از همون كد كه دوستمون گفت استفاده كنين
يك بار هم بايد استفاده كنين به بيست هزار بار
فقط كافيه اي دي ركوردي رو كه ميخواي بدست بيارين
بعد ركوردو پاك كنين
بعد از اون كد استفاده كنين
UPDATE Books SET id = id - 1 WHERE id > 4
به جاي 4 اون اي دي ركوردي كه بدست اوردين رو بزارين

arash_saye
چهارشنبه 27 آذر 1392, 17:44 عصر
ممنون از راهنماییتون من باید اینو توی یه قسمتی قرار بدم که یه دکمه رو کلیک می کنم
ممنون می شم دوستان کد کاملش رو برام بنویسن بازم سپاسگزارم