PDA

View Full Version : سوال: تغییر یک مقدار برای همه کاربران در دیتابیس



thacker
شنبه 25 آذر 1391, 16:27 عصر
سلام ...
من یک ستون توی دیتابیسم دارم که مقدارش 0 وارد شده قبلا ...
برای بعضی از اعضا هنوز 0 و برای بعضی ها عدد دیگری هست الان ...
حالا میخوام این مقدار رو برای همه سطرها 1000 تا اضافه کنم ... یعنی واسه کسی که 0 هست بشه 1000 و واسه کسی که مثلا 1000 هست بشه 2000 ...
آیا راهی وجود داره ؟

Tarragon
شنبه 25 آذر 1391, 16:31 عصر
UPDATE `tablename` SET number=number+'1000'
این فکر کنم مشکل شما رو حل کنه

MRmoon
شنبه 25 آذر 1391, 16:35 عصر
فک کنم این روش با حلقه ی while بشه انجام داد. شایدم اشتباه بگم.

مثلا اینجوری.



$res=mysql_query("SELECT * FROM yourdb");
while ($row=mysql_num_rows($res)){
$hez=1000;
$QUERY=mysql_query("UPDATE tablename SET yorfieldname=yorfieldname +'$hez' WHERE nametb=$row['nametb']");
}


حالا اینو امتحان کن اگه نشد یه روش دیگه بگم

فقط اگه نشد بگو از کجا مشکل داره

MRmoon
شنبه 25 آذر 1391, 16:39 عصر
UPDATE `tablename` SET number=number+'1000'
این فکر کنم مشکل شما رو حل کنه

اشون گفتم میخوان مقدار همه تیبل ها رو افزایش بدن.

اینجوری چیجوری کار کنن؟

thacker
شنبه 25 آذر 1391, 17:11 عصر
فک کنم این روش با حلقه ی while بشه انجام داد. شایدم اشتباه بگم.

مثلا اینجوری.



$res=mysql_query("SELECT * FROM yourdb");
while ($row=mysql_num_rows($res)){
$hez=1000;
$QUERY=mysql_query("UPDATE tablename SET yorfieldname=yorfieldname +'$hez' WHERE nametb=$row['nametb']");
}


حالا اینو امتحان کن اگه نشد یه روش دیگه بگم

فقط اگه نشد بگو از کجا مشکل داره

آیا این کار به سرور فشار نمیاره و سرعت پایین نیست ؟! آخه 11000 تا یوزر دارم ...
اگه مشکلی نداره تستش کنم ...
با تشکر از شما

Tarragon
شنبه 25 آذر 1391, 17:23 عصر
آقای MRmoon اگر دقت کنید من از دسترو WHERE استفاده نکردم پس نتیجه می گیریم این برای همه سطر ها اعمال می شه.

siavashsay
شنبه 25 آذر 1391, 17:28 عصر
دوست عزیز حق با جناب amin0256 هست !
ثانیا شما میتونید توی لوکال هاست ( wamp - xamp ) یک دیتابیس با چند رکورد درست کنید و یه تست ساده بگیرید ( با کد آقای amin0256 ) چنانچه درست بود رو هاست خودتون اعمال کنید !
گرچه احتمال زیاد کد ایشون درسته :)