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

نام تاپیک: شروع شدن id از 100

  1. #1
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    شروع شدن id از 100

    باسلام
    دوستان من یک جدولی دارم می خوام که id هام از 100 شروع بشه باید چی کار کنم؟؟

  2. #2

    نقل قول: شروع شدن id از 100

    اگه منظورت توی SQL هستش باید توی Design روی ستون id کلیک کنی و بری پایین صفحه ، تو قسمت پراپرتی ها و مراحل زیر رو انجام بده
    identity specification >>>> Is Identity = YES >>>> Identity Seed = 100

  3. #3
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    یه سوال دیگه
    ما وقتی

    identity specification رو برای yes قرار میدیم id رو بصورت Auto میزنه خب حالا اگه ما بیام و اطلاعات جدوول رو پاک کنیم بعدا که می خوایم یک اطلاعات جدید اضافه کنیم id رو ادامه ی تموم آیدی ها (حالا چه حذف شده و چه موجود) میزنه؟؟
    حالا میشه کاری کرد که اینطوری نشه؟؟

  4. #4

    نقل قول: شروع شدن id از 100

    بله درسته
    اما مایکروسافت فکر اونجاشم کرده
    شما میتونی با استفاده از کد زیر اطلاعات جدولو جوری پاک کنی که دوباره id هارو از اول بنویسه
    truncate table t1
    -- همون اسم جدوله t1

  5. #5
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط erfan_urchin مشاهده تاپیک
    بله درسته
    اما مایکروسافت فکر اونجاشم کرده
    شما میتونی با استفاده از کد زیر اطلاعات جدولو جوری پاک کنی که دوباره id هارو از اول بنویسه
    truncate table t1
    -- همون اسم جدوله t1
    ممنون ولی
    الان این کد رو کجا بنویسم؟؟

  6. #6

    نقل قول: شروع شدن id از 100

    اگه میخوای از تو C#‎ کد نویسی کنی باید توی SQLCommand کدو بنویسی
    ولی اگه میخوای از طریق خود SQL این کارو انجام بدی باید توی New Query این کدو بنویسی

  7. #7
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط erfan_urchin مشاهده تاپیک
    اگه میخوای از تو C#‎ کد نویسی کنی باید توی SQLCommand کدو بنویسی
    ولی اگه میخوای از طریق خود SQL این کارو انجام بدی باید توی New Query این کدو بنویسی
    شرمنده
    منظورم این بود که تویک کوِئری جدا بنویسم یا نه تو همون کئوری که دستور delete رو نوشتم!.

  8. #8

    نقل قول: شروع شدن id از 100

    منظورتو خوب نفهمیدم اما چیزی که فهمیدم اگه درست باشه جواب اینه
    این کد کل اطلاعات جدولو delete میکنه
    فرقیم نمیکنه تو یه کوئری دیگه بنویسی یا توی همون کوئری بنویسی
    در هرصورت کارشو انجام میده

  9. #9
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    من اینا نوشتم ولی جواب نداد
    delete from customer_B where c_id=@id
    truncate table customer_b

    چرا؟

  10. #10

    نقل قول: شروع شدن id از 100

    دوست عزیز گفتم این کدی که من دادم کل اطلاعات جدولو پاک میکنه، نه یه فیلدو
    اما شما ظاهرا میخواین فقط یه فیلد خاصو پاک کنه ( مثلا فیلدی که آیدیش مساوی 3 هستش )
    درسته؟؟؟

  11. #11
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط erfan_urchin مشاهده تاپیک
    دوست عزیز گفتم این کدی که من دادم کل اطلاعات جدولو پاک میکنه، نه یه فیلدو
    اما شما ظاهرا میخواین فقط یه فیلد خاصو پاک کنه ( مثلا فیلدی که آیدیش مساوی 3 هستش )
    درسته؟؟؟
    درسته من فیلد با آیدی پاک می کنم ولی فرقی نداره این طوری هم کل اطلاعات پاک میشه.
    حالا این دستور رو کامل بنویسین..
    ممنون

  12. #12
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط mahdi101 مشاهده تاپیک
    درسته من فیلد با آیدی پاک می کنم ولی فرقی نداره این طوری هم کل اطلاعات پاک میشه.
    حالا این دستور رو کامل بنویسین..
    ممنون
    .................................................. ..........................
    SQL TRUNCATE Statement

    The SQL TRUNCATE command is used to delete all the rows from the table and free the space containing the table.
    Syntax to TRUNCATE a table:

    TRUNCATE TABLE table_name;
    For Example: To delete all the rows from employee table, the query would be like,
    TRUNCATE TABLE employee;
    Difference between DELETE and TRUNCATE Statements:
    DELETE Statement: This command deletes only the rows from the table based on the condition given in the where clause or deletes all the rows from the table if no condition is specified. But it does not free the space containing the table.
    TRUNCATE statement: This command is used to delete all the rows from the table and free the space containing the table.

    لینک

  13. #13
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    ولی این دستور که کل اطلاعات رو یک جا پاک میکنه !!!!

  14. #14
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,717

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط mahdi101 مشاهده تاپیک
    یه سوال دیگه
    ما وقتی

    identity specification رو برای yes قرار میدیم id رو بصورت Auto میزنه خب حالا اگه ما بیام و اطلاعات جدوول رو پاک کنیم بعدا که می خوایم یک اطلاعات جدید اضافه کنیم id رو ادامه ی تموم آیدی ها (حالا چه حذف شده و چه موجود) میزنه؟؟
    حالا میشه کاری کرد که اینطوری نشه؟؟
    سلام.
    با اجازه دوست عزیزم جناب خوخان.
    اگر منظور شما رو درست متوجه شده باشم شما میخوای یک رکورد (نه همه رکوردها) رو حذف کنید و به جای اینکه identity از " آخرین عدد + 1 " درج بشه از یک عدد که مد نظر خودتون هست شروع بشه.
    اگر چنین منظوری دارید یه کار میتونید انجام بدید:
    رکورد مورد نظر رو با همون دستور delete ای که خودتون نوشتید حذف کنید.
    برای درج رکورد جدید با identity مد نظر شما (نه identity اتوماتیک)، ابتدا با کد زیر خاصیت identity رو برای جدول مورد نظر بی اثر کنید (منظور از بی اثر کردن یعنی خودتون بهش مقدار بدید به جای اینکه خودش اتوماتیک اضافه بشه):
    Set Identity_Insert TblName ON

    منظور از TblName نام جدول شماست.
    حالا خودتون برای فیلد identity هر مقداری رو که دوست دارید وارد کنید. مثلا فرض کنید قبلا برای فیلد CustomerID که identity بوده و تا 150 مقداردهی شده، الان میخوای از 250 مقداردهی بشه. بعد از نوشتن کد بالا، حالا یک رکورد جدید رو Insert کنید:
    Insert Into TblCustomers(CustomerID,CustomerName,CustomerAddre  ss) Values(250,'your name','Iran')

    توجه داشته باشید که شما می تونید به جای مثلا عدد 250، شماره آخرین عددی که رکورد اونو حذف کردید رو هم قرار بدید(اگر میخواید تمام شماره های جدولتون پشت سر هم باشه).
    بعد از درج رکورد دوباره identity رو فعال کنید تا باز هم خودش بصورت اتوماتیک برای رکوردهای بعدی مقدار CustomerID رو درج کنه:
    Set Identity_Insert TblName OFF

    دقت کنید بعد از فعالسازی مجدد identity رکورد بعدی مقدار فیلد CustomerID اش برابر با 251 خواهد بود (به شرط اینکه یکی یکی اضافه بشه).
    برای اجرای کدهای بالا یا از stored procedure ها استفاده کنید یا اگر مستقیم درون ویژوال کد مینویسید از SqlCommand و متد ExecuteNonQuery استفاده کنید.
    موفق باشید.
    آخرین ویرایش به وسیله veniz2008 : سه شنبه 14 آبان 1392 در 11:45 صبح

  15. #15
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط veniz2008 مشاهده تاپیک
    سلام.
    با اجازه دوست عزیزم جناب خوخان.
    اگر منظور شما رو درست متوجه شده باشم شما میخوای یک رکورد (نه همه رکوردها) رو حذف کنید و به جای اینکه identity از " آخرین عدد + 1 " درج بشه از یک عدد که مد نظر خودتون هست شروع بشه.
    اگر چنین منظوری دارید یه کار میتونید انجام بدید:
    ....
    خیلی ممنون از راهنمایی خوبتون...
    من الان با این ارور مواجه شدم
    Table 'customer_b' does not have the identity property. Cannot perform SET operation.
    نمی دونم چرا ؟؟؟؟
    من کدهام رو اینتوری نوشتم:
    اول در یک stord pro این کدهارو نوشتم:
    create proc insert_customer_b @name nchar(30),@family nchar(30),@mobile bigint,@tell bigint,@adress nchar(100)
    as
    begin
    Set Identity_Insert customer_b ON
    insert into customer_B(c_id,c_name,c_family,c_mobile,c_tell,c_ adress)values(100,@name,@family,@mobile,@tell,@adr ess)
    Set Identity_Insert customer_b OFF
    end

    و در یک stor دیگه دستور delete رو نوشتم:
    delte from customer_b where c_id


    یعنی کجاش اشتباهه؟؟؟
    ممنون

  16. #16
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,717

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط mahdi101 مشاهده تاپیک
    خیلی ممنون از راهنمایی خوبتون...
    من الان با این ارور مواجه شدم
    Table 'customer_b' does not have the identity property. Cannot perform SET operation.
    نمی دونم چرا ؟؟؟؟
    من کدهام رو اینتوری نوشتم:
    اول در یک stord pro این کدهارو نوشتم:
    create proc insert_customer_b @name nchar(30),@family nchar(30),@mobile bigint,@tell bigint,@adress nchar(100)
    as
    begin
    Set Identity_Insert customer_b ON
    insert into customer_B(c_id,c_name,c_family,c_mobile,c_tell,c_ adress)values(100,@name,@family,@mobile,@tell,@adr ess)
    Set Identity_Insert customer_b OFF
    end

    و در یک stor دیگه دستور delete رو نوشتم:
    delte from customer_b where c_id


    یعنی کجاش اشتباهه؟؟؟
    ممنون
    حکایت شما، حکایت اون بنده خداست که قرار بود یه آرزو بکنه و آرزوش برآورده بشه و آرزوش این بود که توی قرعه کشی برنده بشه ولی از قضا یادش رفته بود حساب باز کنه.
    مرد مومن، آخه وقتی جدولت identity نداره چطوری واست غیر فعالش کنه؟
    sp ای که نوشتی درسته فقط نوع متغیرها رو اشتباه گرفتی دوست من.
    همیشه برای رشته های فارسی مثل نام و فامیل از نوع nvarchar بگیر.
    برای تلفن و موبایل که اولشون 0 هست از نوع (11)varchar بگیر (هم تلفن ثابت هم موبایل هر دو شون 11 رقم هستن).
    در مورد دستور delete هم باید کد مشتری رو بهش بدی تا بتونه حذف کنه :
    delete from customer_b where c_id = @cid
    آخرین ویرایش به وسیله veniz2008 : سه شنبه 14 آبان 1392 در 17:40 عصر

  17. #17
    کاربر تازه وارد آواتار mahdi101
    تاریخ عضویت
    تیر 1392
    محل زندگی
    اصفهان
    پست
    94

    نقل قول: شروع شدن id از 100

    شرمنده دوست عزیز چه کنیم دیگه تازه اول راهمونه مثل شما که حرفه ای نیستیم..
    وقتی که اولین فیلد رو میزنم درست کار میکنه ولی دومین فیلید رو این ارور رو میده(تمام متغر هامم درست کردم)
    Violation of PRIMARY KEY constraint 'PK_customer_B'. Cannot insert duplicate key in object 'dbo.customer_B'. The duplicate key value is (100).

    اگه فیلد id رو کلیدش رو بردارم تمام id هارو 100 میزنه .
    چرا؟
    آخرین ویرایش به وسیله mahdi101 : سه شنبه 14 آبان 1392 در 18:08 عصر

  18. #18
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,717

    نقل قول: شروع شدن id از 100

    نقل قول نوشته شده توسط mahdi101 مشاهده تاپیک
    شرمنده دوست عزیز چه کنیم دیگه تازه اول راهمونه مثل شما که حرفه ای نیستیم..
    وقتی که اولین فیلد رو میزنم درست کار میکنه ولی دومین فیلید رو این ارور رو میده(تمام متغر هامم درست کردم)
    Violation of PRIMARY KEY constraint 'PK_customer_B'. Cannot insert duplicate key in object 'dbo.customer_B'. The duplicate key value is (100).

    اگه فیلد id رو کلیدش رو بردارم تمام id هارو 100 میزنه .
    چرا؟
    ببینید دوست عزیز،
    من می تونم ساعت ها بشینم اینجا و واسه شما تایپ کنم و شما هم بدون دقت به کدها و متن خطاها، عینا کدهای منو کپی کنی و توی برنامت قرار بدی.
    ولی فایده این کار چیه؟ مطمئن باشید هیچی.
    رکورد اول رو درست درج میکنه چون id شماره 100 وجود نداره.
    شما پشت سرش میای دوباره 100 رو میخوای درج کنی به همین خاطر بهتون پیغام کیده که کلید اصلی که باید منحصر بفرد باشه نمیتونه Duplicate (دو بار) درج بشه. هر رکوردی که میخواید ثبت کنید باید id اون جدید باشه.
    اون کدی که بهتون دادم و گفتم identity رو غیرفعال کنید رو یکبار اجرا کنید و id مد نظرتون رو درج کنید و بعد دوباره identity رو فعال کنید.
    قرار نیست شما هر بار بیای identity رو غیر فعال و رکورد رو درج و دوباره اونو فعال کنید. اینطوری اصلا دلیلی برای identity بودن اون فیلد باقی نمیمونه.
    هر چیزی رو برای هدف خاص خودش ساختن.
    اون کدی که برای غیر فعال کردن identity خدمتتون عرض کردم برای موارد خاص هست نه اینکه همیشه برای هر رکورد بیای ازش استفاده کنی.
    پیشنهاد میکنم اول برید مطالب پایه درباره کار با پایگاه داده ها و مفاهیم رو خوب کار کنید. این مفاهیم تا روزی که برنامه نویسی می کنید جلوی شما قرار دارن. وقتی مفاهیم رو خوب یاد بگیری خواهید دید که بسیار لذت بخش خواهد بود و براحتی از پس هر کوئری بر میاید.
    موفق باشید.

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

  1. مشکل سرعت در هنگام باز شدن جدول بالای 100 هزار رکورد
    نوشته شده توسط pooyeshpajooh در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 9
    آخرین پست: چهارشنبه 14 فروردین 1392, 03:04 صبح
  2. پشتیبانی نکردن xampp از شروع شدن دستور <?
    نوشته شده توسط tem988 در بخش PHP
    پاسخ: 7
    آخرین پست: چهارشنبه 21 دی 1390, 22:28 عصر
  3. شروع شدن فیلد RecordNumber از مقدار 1 برای هر Group
    نوشته شده توسط softvahid در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: پنج شنبه 16 تیر 1390, 22:21 عصر
  4. شروع شدن برنامه از یک خط خاص
    نوشته شده توسط Web.Designer01 در بخش C#‎‎
    پاسخ: 12
    آخرین پست: سه شنبه 10 خرداد 1390, 14:46 عصر
  5. شروع شدن یک فیلد از 1000
    نوشته شده توسط sogoli در بخش MySQL
    پاسخ: 1
    آخرین پست: شنبه 19 بهمن 1387, 13:38 عصر

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

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