insert کردن در جدولی که فیلد auto increment دارد

ha8i8eh

New Member
سلام
من جدولی تو My sql دارم که یه فیلد auto increment داره
نمیدونم چجوری باید واسه چنین جدولی Insert بنویسم ، اگه اون فیلد رو تو insert وارد نکنم که ارور داره اگه هم بذارمش نمیدونم چه مقداری رو براش set کنم !

ممنون میشم راهنماییم کنین! :)
 
فکر نکنم که بشه توی فیلد های auto increment مقداری وارد کرد.چون اینا با insert کردن تو بقیه فیلد ها اضافه میشن...
 

maaha

Member
این مشکل منم هست که میخوام توی جدولم یه فیلد auto increment داشته باشم ولی این جوری تعداد فیلد های جدولم با فیلدهای فرمم که توسط کویری به دیتا بیس فرستاده میشه یکسان نمیشه.ارور میده.چه کار باید کرد.من مییخوام یه فیلد id داشته باشم و اونو کلید قرار بدم:-?
 

Army.Hidden

Active Member
سلام خدمت دوستان
فکر کنید ما یک تیبل به صورت زیر داریم :
کد:
CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
همون طور که میبینید فیلد 'id' به صورت AUTO_INCREMENT تعریف شده.
من میخواستم این فیلد 'id' در هر بار insert کردن یک شماره متفاوت (‌یکی از عدد قبلی بیشتر ) بخوره.
و برای این کار باید به صورت زیر پرسوجو ارسال کرد.
کد:
INSERT INTO `test` (`id` ,`name`)
    VALUES ('null', 'Name3');
وقتی به جای id کلمه Null قرار میدهیم به صورت خود کار مقدار دهی میشه .
برای مثال اطلاعاتی که در بانک ثبت شده است رو ببینید :
jwjllp224cxgd98llb5j.png

نمیدونم جواب سوال هاتون رو گرفتید ولی این رو میتونستم بگمم :دی

موفق باشید
 

ha8i8eh

New Member
ممنون دوستان
من اینا رو امتحان کردم ولی این فیلد null نمیشه یعنی هر چی ویرایشش میکنم که nullable بشه باز میبینم که ویرایشم اعمال نشده:cry:
 

ziXet

مدیر انجمن PHP/MYSQL
ممنون دوستان
من اینا رو امتحان کردم ولی این فیلد null نمیشه یعنی هر چی ویرایشش میکنم که nullable بشه باز میبینم که ویرایشم اعمال نشده:cry:
شما اون فیلدی که auto incerement هست رو primary key کردی؟
 

ha8i8eh

New Member
شما اون فیلدی که auto incerement هست رو primary key کردی؟

من کلیدش نمیکنم وقتی این فیلد رو میسازم خودش کلید میشه نمیدونم چرا!!!
حس کردم شاید به خاطر کلید بودنش باشه ولی دیدم تو این مثالی که این بالا آوردن id کلیده اما با null ستش کرده
 

ziXet

مدیر انجمن PHP/MYSQL
شما از phpmyadmin استفاده میکنید؟
این جدول رو بسازید:
PHP:
CREATE  TABLE `test` ( `id` INT NOT  NULL  AUTO_INCREMENT  PRIMARY  KEY ,
 `name` VARCHAR( 30  )  NOT  NULL ,
 `phone` VARCHAR( 10  )  NOT  NULL ) ENGINE  =  MYISAM
بعد ببینید میتونید این insert رو انجام بدین یا نه؟
PHP:
INSERT  INTO `test` ( `id` ,
 `name` ,
 `phone` )
VALUES ( NULL ,  'amir',  '3333333');
 

greencat

Member
سلام؛
اگر راه‌های بالا انجام دادید و جواب نگرفتید دو تا کوئری زیر رو هم چک کنید شاید جواب داد.

کوئری اول: مقداری اون فیلد AUTO INCREMENT رو خالی بزارید یعنی '' .
کد:
INSERT INTO `test` (`id` ,`name`) VALUES ('' ,'Name3');

توی کوئری دوم : اصلا اسم اون فیلدی رو که AUTO INCREMENT هستش رو نیارید :
کد:
INSERT INTO `test` (`name`) VALUES ('Name3');
 

Masoud1365

مدیر انجمن
ببین نیازی نیست داخل phpmyadmin بیایی ست کنی که فیلد ID مقدارش نال باشه ! وقتی میخوایی مقدار دهی کنی ( یعنی توی کوئری ) مقدارش رو نال قرار بدید.
موفق
 

ha8i8eh

New Member
اشکال نداره یه سوال دیگه هم، هم اینجا بپرسم؟؟
من collection کل دیتابیس و جدول و فیلدی که نیاز داره توش فارسی نوشته بشه رو utf8_persian_ci کردم!
داخل دیتابیس درست ذخیره میشه و ولی وقتی که چاپشون میکنم داخل مرورگر ؟ نوشته میشه !!
چی کار باید بکنم؟؟:(
 

جدیدترین ارسال ها

بالا