آپدیت دسته جمعی ردیف های جدول mysql

vahid_3d

Active Member
سلام . عیدتون مبارک :rose:
سوالم اینه من با این دستور :
SELECT * FROM `smf_topics` WHERE `ID_TOPIC` < 1000 AND `numReplies` < 5 AND `locked` = 0
تعدادی ردیف بیرون کشیدم. خب من می خوام ردیف هایی که این شرایط رو دارن، ستون Locked رو براشون تغییر بده و بنویسه 1.
چطور این کار رو انجام بدم؟
 

Masoud1365

مدیر انجمن
PHP:
UPDATE `table` SET `lock`=1 WHERE `shart`
دسته جمعیشو تست نکردم این کد رو تست کن ببین درست میشه.
 

vahid_3d

Active Member
از کدی که شما نوشتین، استفاده کردم و اینو نوشتم :
PHP:
UPDATE `smf_topics` SET `locked`='1' WHERE `ID_TOPIC`<'1000' AND `numReplies`<'5' AND `locked`='0' LIMIT 0 , 1000
ولی این اررور رو می ده:
PHP:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1000' at line 1
 

Masoud1365

مدیر انجمن
اشکال نگارشی دارد ! به جای کوچیکتر و بزرگتر از between استفاده کن اگر نشد با یه حلقه یکی یکی آپدیت کن.
 

vahid_3d

Active Member
می شه لطفا کدش رو بنویسید. من که نتونستم بنویسم. و اونی که نوشتم کار نمی کنه. ضمنا چرا کوچکتری بزرگتری کار نمی کنه؟
خود mysql برای جستجو از این علائم استفاده می کنه.
 

Masoud1365

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

vahid_3d

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

RainDigital

Member
ای خداااااااااااااااا

نصف سوالای این انجمن اینه که هنوز فرق استفاده از رشته و عدد درک نشده و بهش دقت نمیشه

ببینید '5' یک رشته هست string--هیچ مفهوم عددی نداره اگر با یک جمعش کنید میشه 51 نه 6! چه برسه با مقایسه

عدد، 5 خالی هست بدون هیچ ؛ دقت کنید هیچ ؛ کاراکتر اضافه ای دور و برش کدتون رو اینطوری کنید نه بیتوین می‌خواد و نه حلقه:

PHP:
UPDATE `smf_topics` SET `locked`=1 WHERE `ID_TOPIC`<1000 AND `numReplies`<5 AND `locked`=0 LIMIT 0 , 1000
 

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

بالا