اضافه کردن دیتا به دیتابیس در ابتدای دیگر دیتا ها ( حل شده )
نمی دونم شاید واسه خیلی ها پیش اومده باشه، من یه دیتابیس ساختم با SQLite تموم شد. اما حالا یه سری چیزهایی به ذهنم رسیده که میخوام دوباره به دیتا اضافه کنم. اما میخوام این دیتای جدیدم بیاد بالای همهی دیتا ها قرار بگیره.یعنی از ID=1 شروع کنه و بقیه دیتا ها دوباره از اون به پایین IDهاشون مرتب و تنظیم بشه. دوستای متخصص چطوری باید اینکارو کرد؟
اصن اول نه من شاید بخوام دیتا به وسط اضافه بشه و از اونجا به بعد بقیه زیرش قرار بگیرند. چطوری اینکارو باید کرد؟ اگه دوستان یه راهنمایی کامل و بیسیک بکنند ممنون میشیم <3
البته خودمم الان دارم تو نت واسه این موضوع سرچ می کنم ببینم چی میشه. اینو نوشتم که اگه کسی هم مشکل منو داشت مشکلش حل بشه.
راه دستیش اینجوریه که id هاتو مثلا 5 تا اضافه کنی و بعد اون 5 ستون رو اضافه کنی با اون idهای 1 تا5
این دستور sqlش :
UPDATE mytable SET id=id+5 WHERE id>0
حالا اگه وسطش خواستی این کارو کنی که اون شرط WHERE رو تغییر بده
دوست عزیز این کد درسته شما برای تغییر باید از آخر شروع کنین چون id ها به عنوان کلیداصلی تعریف شدن و نمیتونن مقدار id بقیرو بگیرن.به عنوان مثال ما دو id داریم برای افزایش نمیشه گفت( id2=3و id1=2) چون 2 از قبل برای id2 تعریف شده.شما باید بگین(id1=2وid2=3) یعنی اول id2 رو تغیر میدین بعد id1 رو.
خوب راه حل این شد که همرو یه بار شیف دادم به یه عددی بالا مثلا 500 بعدش خواستم به اون تعدادی که رکورد اضافه منه ازش کم کردم. یعنی 495 مثلا. درواقع اینجوری کردم:
500+5 برابر با 505 ا به عدد ID ها اضافه شد:
UPDATE mytable SET id=id+505 WHERE id>0
و بعدش 500 تا ازش کم کردم که درواقع همون 5 تا شماره عدد ID شیفت پیدا کنهو و بعدشم دیگه رکورد های جدید رو اضافه کردم به ابتدای جدولم :P
UPDATE mytable SET id=id-500 WHERE id>0
مرسی از همه بچه ها :* واسه همتون لایک گذاشتم ;)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .