آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اضافه کردن دیتا به دیتابیس در ابتدای دیگر دیتا ها ( حل شده )

sadra  11 سال پیش  11 سال پیش
+1 0

نمی دونم شاید واسه خیلی ها پیش اومده باشه، من یه دیتابیس ساختم با SQLite تموم شد. اما حالا یه سری چیزهایی به ذهنم رسیده که میخوام دوباره به دیتا اضافه کنم. اما میخوام این دیتای جدیدم بیاد بالای همهی دیتا ها قرار بگیره.یعنی از ID=1 شروع کنه و بقیه دیتا ها دوباره از اون به پایین IDهاشون مرتب و تنظیم بشه. دوستای متخصص چطوری باید اینکارو کرد؟

اصن اول نه من شاید بخوام دیتا به وسط اضافه بشه و از اونجا به بعد بقیه زیرش قرار بگیرند. چطوری اینکارو باید کرد؟ اگه دوستان یه راهنمایی کامل و بیسیک بکنند ممنون میشیم <3

البته خودمم الان دارم تو نت واسه این موضوع سرچ می کنم ببینم چی میشه. اینو نوشتم که اگه کسی هم مشکل منو داشت مشکلش حل بشه.

 

+2 0
معمولا اطلاعات دیتابیس رو بر اساس ستون هادیگه مثلا تاریخ درج یا حروف الفبا مرتب میکنن (11 سال پیش)
+1 0
در طی این چند سالی که برنامه نویسی وب انجام میدم و مستقیما با بانک MySQL کار میکنم تا بحال نشده به چنین مشکلی بربخورم. فکر کنم شما برای رفع مشکلتون راه حل اشتباهی رو انتخاب کردین. لطفا دقیقا بگین چیکار میخواین انجام بدیدن تا راه حل بهتری بهتون پیشنهاد بشه. (به هیچ وجع این کار پیشنهاد نمیشه) . احساس میکنم بیشتر اینکارتون بخاطر وسواس در مرتب شدن ID ها و محتوای هر رکورد هستش. (11 سال پیش)
0 0
ببینید برای کتاب خوب من همه چیز رو بر اساس ID مرتب کردم که فصل به فصل و صفحه به صفحه جلو میره. حالا نصمیم گرفتم یه چیزایی به ابتدای جدولم اضافه کنم. واسه همین میخوان این دیتا ها برن به اول دیتابیس و بقیه زیرش مرتب بشن. (11 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
sadeghbarout  11 سال پیش
+2 0

راه دستیش اینجوریه که id هاتو مثلا 5 تا اضافه کنی و بعد اون 5 ستون رو اضافه کنی با اون idهای 1 تا5

این دستور sqlش :

 UPDATE mytable SET id=id+5 WHERE id>0

حالا اگه وسطش خواستی این کارو کنی که اون شرط WHERE  رو تغییر بده

0 0
اینکارو کردم اما جواب نداد. یعنی این کدش غلط بود! :( (11 سال پیش)
+2 0
البته این طبیعی است چون مثلا id شماره 1 می خواهد بشود 5 ، این در حالی است که ID شماره 5 وجود دارد.و چون ID های یونیک هستند نمی شود. (11 سال پیش)
0 0
حرفتون درسته نکته خوبی بود. ممنون (11 سال پیش)
پاسخ به سوال 
ATRAS  11 سال پیش
+1 0

دوست عزیز این کد درسته شما برای تغییر باید از آخر شروع کنین چون id ها به عنوان کلیداصلی تعریف شدن و نمیتونن مقدار id بقیرو بگیرن.به عنوان مثال ما دو id داریم برای افزایش نمیشه گفت(  id2=3و id1=2) چون 2 از قبل برای id2 تعریف شده.شما باید بگین(id1=2وid2=3) یعنی اول id2 رو تغیر میدین بعد id1 رو.

0 0
خوب چطوری باید اینکارو بکنم؟ الان کدش چی میشه؟ (11 سال پیش)
+2 0
می توانید آخر دستور بگذارید order by id desc (11 سال پیش)
پاسخ به سوال 
sadra  11 سال پیش
+3 0

خوب راه حل این شد که همرو یه بار شیف دادم به یه عددی بالا مثلا 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

مرسی از همه بچه ها :* واسه همتون لایک گذاشتم ;)


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .