ورود

View Full Version : منظم کردن ID



xrezax
یک شنبه 27 اردیبهشت 1394, 14:12 عصر
دوستان من یک دیتابیس دارم که ID اون در هم هستند
مثلاً یه جا نوشته 3330 بعد تا 3335 رفته بعد پریده 4234 رفته تا 2453 و ....
چیکار کنم منظم بشن.
مثلا تمام آی دی ها از 3330 شروع بشن تا آخر منظم بشن.
دستوری چیزی هست ؟؟

SabaSabouhi
یک شنبه 27 اردیبهشت 1394, 15:54 عصر
دوستان من یک دیتابیس دارم که ID اون در هم هستند
مثلاً یه جا نوشته 3330 بعد تا 3335 رفته بعد پریده 4234 رفته تا 2453 و ....
چیکار کنم منظم بشن.
مثلا تمام آی دی ها از 3330 شروع بشن تا آخر منظم بشن.
دستوری چیزی هست ؟؟

سلام
نه دوست عزیز، دستوری برای این کار وجود نداره. البته راه داره، اما در کل این ستون از جدول
نیازه به مرتب بودن نداره. روش حساسیت نداشته باش.
ستون Id که مقدارش هم Identity هست برای کلید اصلی بودن در جدول در نظر گرفته می‌شه
و قرار نیست هیچ وظیفه‌ی دیگری داشته باشه. حتا کاربرها هم نباید این مقدار این ستون رو
توی جدول‌ها یا فرم‌ها ببینن. ( البته من تو برنامه‌ها طوری تنظیم می‌کنم که مثلاً یه کاربر ویژه
بتونه این‌ها رو ببینه - فقط برای خودم!! )
اگه دنبال ستون ردیف یا شماره فاکتور یا چیزهای مشابه هستی، هر کدوم برای خودشون راه و روش
مشخصی دارن. نباید از این Id برای اون مقاصد استفاده کنی.

صبا صبوحی

xrezax
یک شنبه 27 اردیبهشت 1394, 16:20 عصر
مشکل من اینه دوتا دیتابیس دارم روی یک سرور که یکی از تیبلاشون دقیقا مثل هم هستند.
که در هر دو اطلاعات ریخته شده
حالا بعد از مدتها تصمیم بر آن شد دوتا تیبل یکی بشن
میخوام دوتاشون یکی بشن اما بیشتر id آنها شبیه هم هستند.راه حلی دارید ؟؟

SabaSabouhi
دوشنبه 28 اردیبهشت 1394, 08:13 صبح
مشکل من اینه دوتا دیتابیس دارم روی یک سرور که یکی از تیبلاشون دقیقا مثل هم هستند.
که در هر دو اطلاعات ریخته شده
حالا بعد از مدتها تصمیم بر آن شد دوتا تیبل یکی بشن
میخوام دوتاشون یکی بشن اما بیشتر id آنها شبیه هم هستند.راه حلی دارید ؟؟

سلام
مساله‌ی پیچیده‌ای هست. چرا این کار رو می‌خوای انجام بدی؟ حتا اگه این کار رو هم انجام بدی، باز با هم تداخل خواهند داشت.
عوض کردن کلید اصلی کار خوبی نیست، چون بدون شک کلی relation وجود داره که با این کار باید همه‌ی اون‌ها رو اصلاح کنی.
پیش‌نهاد می‌کنم که برای حل مشکل اصلی ( همونی که به ما نگفتی ) یه راه حل به‌تر پیدا کنی.
معمولاً وقتی قرار باشه یک جدول در دو دیتابیس متفاوت مقدار بگیره و تکراری در نیاد، از Guid استفاده می‌شه بجای Id.

صبا صبوحی

xrezax
دوشنبه 28 اردیبهشت 1394, 09:04 صبح
نمیشه کاری کنم خود id بانک دوم رو پاک کنم و sql براشون خودکار id بزنه

SabaSabouhi
دوشنبه 28 اردیبهشت 1394, 09:21 صبح
نمیشه کاری کنم خود id بانک دوم رو پاک کنم و sql براشون خودکار id بزنه

سلام
شما می‌خوای دو تا دیتابیس داشته باشی و این Id بین این دو دیتابیس یکتا باشه، که این کار شدنی نیست.
حتا اگه Id دیتابیس دوم رو از 1000000 هم شروع کنی، احتمال این که پس از مدتی کار کردن این دو تا به هم برسن
وجود داره.
شما مشکل اصلی رو بررسی کن و راه حل درست رو انتخاب کن.
نه این که راه حل رو انتخاب کنی، و مشکل راه حلت رو حل کنی.

صبا صبوحی

golbafan
دوشنبه 28 اردیبهشت 1394, 09:35 صبح
به نظر من شما دقیقا توضیح بدین که چی میخواین و قراره چکار بکنین تا دوستان درست راهنماییتان کنند
نگران لو رفتن اطلاعات هسته ای هم نباشید.

xrezax
دوشنبه 28 اردیبهشت 1394, 11:21 صبح
یکی از دوستان که Sql کار هست اگه ممکنه یه شماره تماس بدن تا براشون توضیح بدم. نیاز حیاتی به هم فکری دارم