جابجا کردن مقدار 2 فیلد در بانک

bono056

Member
سلام
تو یه جدول من میخوام اطلاعات 2 تا فیلد و با هم عوض کنم. یعنی هرچی اطلاعات تو field1 هست بریزم تو field2 و برعکس.
تابعی تو mysql برای عوض کردن مقادیر فیلدها در یک جدول هست؟
 

tabib_m

Member
1- خوب عوض این که مقادیرشون رو جا به جا کنی ٬ اسماشون رو جابجا کن.

2- اگر خیلی اصرار داری که مقادیر رو جا به جا کنی (که فکر نمیکنم نیازی باشه) این کار رو بکن
یک فیلد سوم بساز.
بعد یه همچین دستوری رو اجرا کن:
PHP:
<?php
$query=mysql_query("update `tableName` set `field3`='field1` , `field1`='field2` , `field2`=`field3`");
?>
و بعد هم اون فیلد سوم رو دوباره حذفش کن.

در کل ٬ واقعا اگه اسمهاشون رو عوض کنی راحتتری :)

موفق باشید.
 

bono056

Member
همه فیلدها که این مشکل رو ندارن، یه قسمتی رو میخوام عوض کنم، اضافه کردن فیلد سوم هم بدلایلی امکانش نیست.
 

tabib_m

Member
همه فیلدها که این مشکل رو ندارن، یه قسمتی رو میخوام عوض کنم،
خوب از where clause استفاده کن:
کد:
update `tableName` set `field3`='field1` , `field1`='field2` , `field2`=`field3`[B]where `field4`='mohsen' ... [/B]

اضافه کردن فیلد سوم هم بدلایلی امکانش نیست.
خوب آخه چجوری میخوای دیتابیسی رو که نمیتونی حتی یک فیلد بهش اضافه کنی رو مدیریت کنی.
هر کاری نیازی به امکاناتی داره ٬ نباید انتظار داشته باشی که با وجود محدودیت ها بتونی باز هم هر کاری بکنی...

در هر حال ٬ راهی که به ذهن من رسید این بود ٬ تا ببینیم راه دیگه ای هست یا نه.

البته باید گفت که در کل میشه با همون دو تا فیلد هم یه کارایی کرد ٬ ولی یک مقداری کدش پیچیده میشه و نیاز به فکر بیشتری داره...

موفق باشید.
 

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

بالا