۷ سینا علیزاده
ارور Duplicate entry \'0\' for key \'PRIMARY\'
جامعه پی اچ پی ایجاد شده در ۰۸ اردیبهشت ۱۴۰۲

سلام استاد وقتتون بخیر

استاد من در پایان این جلسه با این ارور مواجه شدم:

b98d-Screenshot 2023-04-28 100525.jpg

همچنین متوجه شدم که فقط بار اول کوئری insert در دیتابیس رکورد ثبت کرد و همچنان همونو رکورد جدید رو ثبت نمیکنه:

c595-Screenshot 2023-04-28 101057.jpg

سلام سینا عزیز

این مورد به دلیل این هست که آیدی چون پرایمری کی هست باید یونیک باشه و در کوئری اینزرت شما آیدی ۰ هست و چون از قبل وجود داره اجازه اینزرت داده نمیشه.

id رو در کوئری اینزرت با تابع rand استفاده کنید یا از رابط pdo آخرین آیدی ایجاد شده رو بگیرید و یک واحد بهش اضافه کنید.

$pdo->lastInsertId()++;
احمدرضا فاطمی کیا ۰۸ اردیبهشت ۱۴۰۲، ۰۶:۰۸

اما استاد در کوئری ، طبق ویدیو اشاره‌ای به id نکردم:

d2b8-Screenshot 2023-04-28 104323.jpg

سینا علیزاده ۰۸ اردیبهشت ۱۴۰۲، ۰۶:۱۳

کد تست رو هم قرار بده.

احمدرضا فاطمی کیا ۰۸ اردیبهشت ۱۴۰۲، ۰۶:۱۶

8e15-Screenshot 2023-04-28 110414.jpg

خدمت شما

سینا علیزاده ۰۸ اردیبهشت ۱۴۰۲، ۰۶:۳۴

سینا عزیز

دوراه دارید

۱.آیدی رو هم به دیتای ایجاد کاربر اضافه کنید.

۲.از قابلیت trunkate در رابط pdo استفاده کنید.

https://thisinterestsme.com/empty-mysql-table-with-php/

احمدرضا فاطمی کیا ۰۹ اردیبهشت ۱۴۰۲، ۱۲:۲۴

ممنون استاد از راهنماییتون.


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


سینا علیزاده ۱۰ اردیبهشت ۱۴۰۲، ۰۷:۱۹

AutoIncrement رو ظاهرا فعال نکرده بودید.

احمدرضا فاطمی کیا ۱۰ اردیبهشت ۱۴۰۲، ۱۵:۳۴