مشکل شمارش آی دی به صورت خودکار

پرسیده شده
فعالیت 1485 روز پیش
دیده شده 1116 بار
0

سلام

استاد من زمانی که به عنوان مثال تمام row  هارو Delete  میکنم ، وقتی دوباره میام و Insert  رو انجام میدم آی دی هایی که Auto_increment برای من میزاره از ادامه شمارش های قبلی هست.

مثلا اگر 10 تا یوزر دارم و هر 10 تارو از آی دی 1 تا 10 رو حذف میکنم با استفاده از Delete بعد میام 10 تا یوزر  جدید Insert  میکنم شماره های آی دی این جدید ها از 11 شروع میشه.

فایل پیوست

امید عرب زادگان
امید عرب زادگان

19 فروردین 99

7

مورد تایید استاد

حذف شده

سلام.

* میتونید جدول رو truncate کنید. البته اگر میخواهید جدول خالی بشه.

* میتونید از PHPMyAdmin داخل جدول مربوطه، روی تب Operations کلیک کنید و AUTO_INCREMENT رو تغییر بدید.(همیشه ازین قسمت میتونید ببینید auto increment روی چه مقداری قرار داره)

* میتونید کوئری بزنید و AUTO_INCREMENT مقدارشو reset کنید به مقدار جدید.

 

 

البته این یک مشکل نیست و در پروژه ی واقعی که پابلیش میکنید، عمل reset رو انجام ندید.

آیدی یک PK هست که مقدار عددیش واسه برنامه نویس اهمیتی نداره و برای دستیابی و ارتباط بین جداول و ایندکس هایی که ساخته میشه مورد استفاده قرار میگیره یعنی اینکه چه مقدارش ۱ باشه و چه ۱۰۰۰ فرقی نمیکنه. جفتشون ۴ بایت از حافظه رو اشغال میکنه. فرض کنید ۱۰۰ تا رکورد دارید رکوردهای ۲۰ تا ۳۰ رو حذف میکنید، این ۱۰ آیدی این وسط چی میشه؟

اگر فکر میکنید مقدار آیدی جدولتون میتونه بالاتر از عدد ۲۱۴۷۴۸۳۶۴۷ برسه، میتونید آیدی رو Unsigned کنید تا ماکسیمومش به ۴۲۹۴۹۶۷۲۹۵ برسه.

 

فایل پیوست

محسن موحد

توسط

محسن موحد

19 فروردین 99