PDA

View Full Version : سوال: قرار داددن مقدار یک فیلد از یک رکورد در مقدار دیفالت فیلد



zoghal
یک شنبه 07 مهر 1387, 19:05 عصر
فرض میکنم جدول ما 2 فیلد داره
1. id از نوع auto_increment

2. name


حالا میخوام وقتی رکورد اضافه شد. و id مقدار دهی شد. اتوماتیک فیلد name مقدار cat[fiel id] بگیره؟ امکانش هست؟

zoghal
دوشنبه 08 مهر 1387, 00:08 صبح
توضیح بیشتر

این ساختار جدول من هست

CREATE TABLE `cat` (
`cat_id` int(11) NOT NULL auto_increment,
`cat_name` varchar(255) collate utf8_persian_ci NOT NULL, `cat_subcat` int(11) default '0',
`cat_filename` varchar(255) collate utf8_persian_ci NOT NULL default 'cat_name',
PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci;


در جایی که بولد شده و قرمز هست cat_name همون نامی فیلدی هست.که هنگامی که رکورد اضافه میشه باید مقداری که به cat_name نسبت داده شده ،همون مقدار هم بهcat_filename داده بشه(توسط ما اس کیو ال) و با استفاده از دیفالت

یعنی مقدار cat_name وارد فیلد cat_filename بشه

amircoco
دوشنبه 08 مهر 1387, 11:11 صبح
من با این قضیه خیلی مشکل داشتم ولی در انتها مجبور شدم بعد درج رکورد آن را update کنم

cybercoder
دوشنبه 08 مهر 1387, 11:19 صبح
سوالتون رو باید در بخش Mysql می پرسیدید.
شما باید از trigger برای این کار استفاده کنید که در نسخه 5.0.2 به بعد پشتیبانی می شه.
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
موفق باشید

zoghal
سه شنبه 09 مهر 1387, 00:58 صبح
مرسی اخر خودم رسیدم بهش