نمایش نتایج 1 تا 3 از 3

نام تاپیک: کلید ID بر اساس تعداد رکورد ها ؟

  1. #1
    کاربر جدید
    تاریخ عضویت
    تیر 1395
    محل زندگی
    خوزستان
    پست
    23

    Question کلید ID بر اساس تعداد رکورد ها ؟

    سلام خیلی زود میرم سر اصل مطلب ...
    من یه جدول ایجاد و فیلد ID رو به عنوان کلید جدول انتخاب کردم . سوالی که دارم اینه که چطوری اگه مثلا من Record سوم رو پاک کردم مقدار های فیلد ID به طور خودکار دوباره بر اساس تعداد رکورد ها مقدار دهی بشن . یعنی مثلا وقتی من Record سوم رو پاک کردم مقدار ID رکورد چهارم با حذف شدن رکورد سوم بشه سه یه جورایی جایگزین رکورد قبلی بشه .

  2. #2

    نقل قول: کلید ID بر اساس تعداد رکورد ها ؟

    فیلد ID همچین خاصیتی نداره، درواقع شما از ویژگی "تکراری نبودن" فیلد ID استفاده می کنید و به خود مقدارش کاری ندارید
    میشه با روشهایی مثل ویرایش جدول این کار رو انجام داد اما این نوع طراحی صحیح نیست
    اگر نیاز به فیلد برای شماره رکورد دارید نباید اون رو از نوع Auto-Increment بذارید و البته نیازی به ساخت فیلد جداگانه برای شماره رکورد نیست، می تونید توی Select شماره رکورد رو هم بیارید، مثال :

    SET @row_number = 0;
    SELECT (@row_number := @row_number + 1) AS Row_Number, UserName, Password FROM user_table ORDER BY ...


    یا اگه بخواید مقدار دهی اولیه متغیر و Select رو در یک Query انجام بدید، میتونید به این صورت بنویسید :

    SELECT (@row_number := @row_number + 1) AS Row_Number, UserName, Password FROM user_table, (SELECT @row_number := 0) AS m ORDER BY ...

  3. #3
    کاربر دائمی آواتار golbafan
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    در قلب دوستان
    پست
    2,018

    نقل قول: کلید ID بر اساس تعداد رکورد ها ؟

    امکان این کار با دستور زیر هست:
    ALTER TABLE tablename AUTO_INCREMENT = (select max(id) from tablename)+1


    ولی همونطور که دوستمون گفتن اصلا کار خوبی نیست!

تاپیک های مشابه

  1. کنترل خروجی کوئری بر اساس تعداد رکورد
    نوشته شده توسط rmb_ali در بخش SQL Server
    پاسخ: 2
    آخرین پست: جمعه 07 تیر 1387, 22:07 عصر
  2. لیست کاربران بر اساس تعداد تشکر ها
    نوشته شده توسط shahab_ksh در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 6
    آخرین پست: پنج شنبه 29 فروردین 1387, 12:32 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •