🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ یگانه سیف
ارور 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 رو ظاهرا فعال نکرده بودید.

آریانا کرمانی ۱۰ اردیبهشت ۱۴۰۲، ۱۵:۳۴