View Full Version : مبتدی: #1062 - Duplicate entry '2345678654' for key 'PRIMARY' خطای
samira_66
سه شنبه 27 خرداد 1393, 11:52 صبح
بهنگام درج داده در جدول با کویری زیر خطا می دهد.البته داده ها رو وارد می کنه!
INSERT INTO `besatco1_besat`.`student` (`st_code`, `st_name`, `st_family`, `s_code`, `c_code`, `t_code`, `s_pass`) VALUES ('2345678654', 'dfg', 'wert', '2012', '52', '4008', NULL)
فیلد st_code به صورت bigint(12) تعریف شده...برای کد ملی و یا کد دانش آموزی 10 رقمی مناسبترین نوع داده کدام است؟
Mori Bone
سه شنبه 27 خرداد 1393, 13:48 عصر
لطفا متن خطا رو بگذارید:بوس:
miladamirzadeh
سه شنبه 27 خرداد 1393, 22:36 عصر
لطفاً با دستور
DESC student ساختار جدول رو هم بذارید. احتمال زیاد برای این فیلد صفت UNIQUE را قرار داده اید.
ali abedian
شنبه 31 خرداد 1393, 07:58 صبح
به نظر میاد که شما اطلاعات جدید که وارد میکردید، مقدار کلید اصلی ش از قبل برای یک رکورد دیگه وارد شده بود.. این پیغام اینو میگه
برای اینکه این موضوع رو بفهمید، شماره ی 2345678654رو به نرم افزارتون درخواست بدید ، ببینید اطلاعات مربوط به این رکورد با این کلید اصلی لود میشه یا نه؟
یا اگر هنوز این قسمت رو برنامه نویسی نکردید، میتونید از phpmyadmin استفاده کنید و در ستون کلید اصلی (در جدول مربوطه) به دنبال این شماره بگردید.. متوجه میشید که این شماره رو دارید دوباره وارد میکنید و در نتیجه اون پیغام ظاهر میشه
us1234
شنبه 31 خرداد 1393, 10:07 صبح
یک فیلد آی دی که کلید اصلی جدول می شود و افزایش اتوماتیک دارد به جدول اضافه کنید مشکلتون حل میشود.
samira_66
یک شنبه 01 تیر 1393, 12:06 عصر
هیچ کذی تکراری وارد نشده چون کدملی هست
اگر یک فیلد اتوماتیک تعریف کنم وکلید اصلی بذارمش مشکلی در استفاده از کد ملی برای جدول های دیگه پیش نیاد؟!
برای نوع فیلد کد ملی هم راهنمایی می کنید؟ با نیازمندی های که درخواست دادن تنها عملیات روی کدملی جستجو هست،حالا از نوع عدد تعریف بشه یا رشته؟
samira_66
دوشنبه 02 تیر 1393, 15:35 عصر
لطفاً با دستور
DESC student ساختار جدول رو هم بذارید. احتمال زیاد برای این فیلد صفت UNIQUE را قرار داده اید.
ساختار جدول:
CREATE TABLE `student` ( `st_code` int(11) NOT NULL, `st_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`st_family` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, `s_code` int(4) NOT NULL, `c_code` int(2) NOT NULL,
`t_code` int(11) NOT NULL, `s_pass` varchar(10) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`st_code`), KEY `c_name` (`c_code`), KEY `c_name_2` (`c_code`), KEY `t_code` (`t_code`), KEY `c_code` (`c_code`),
KEY `s_code` (`s_code`), KEY `s_code_2` (`s_code`), KEY `s_code_3` (`s_code`)) ENGINE=MyISAM DEFAULT CHARSET=utf16 COLLATE=utf16_persian_ci
samira_66
دوشنبه 02 تیر 1393, 15:43 عصر
به نظر میاد که شما اطلاعات جدید که وارد میکردید، مقدار کلید اصلی ش از قبل برای یک رکورد دیگه وارد شده بود.. این پیغام اینو میگه
برای اینکه این موضوع رو بفهمید، شماره ی 2345678654
رو به نرم افزارتون درخواست بدید ، ببینید اطلاعات مربوط به این رکورد با این کلید اصلی لود میشه یا نه؟
یا اگر هنوز این قسمت رو برنامه نویسی نکردید، میتونید از phpmyadmin استفاده کنید و در ستون کلید اصلی (در جدول مربوطه) به دنبال این شماره بگردید.. متوجه میشید که این شماره رو دارید دوباره وارد میکنید و در نتیجه اون پیغام ظاهر میشه
خطا رفع شد
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.