سؤال

أنا أحاول تحديث Quyuestatusint حيث لا يكون Statusint 8 و QuueStatintint لا يساوي 2 والنوع هو نوع $. لكنني أظل الحصول على خطأ:

ERROR 1064 (42000) at line 1: 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 ‘ queueStatusINT!='2’, type=’int'' at line 1

أنا باستخدام استعلام SQL هذا للقيام التحديث:

UPDATE $mysqlTable SET queueStatusINT='2’ WHERE statusINT='8’, queueStatusINT!='2’, type=‘$type’;

لقد لاحظت أيضا أنني أستطيع أن أقوم بعدم تساوي في أمر محدد ...

SELECT nameTXT FROM $mysqlTable WHERE queueStatusINT!='2' ORDER BY queueStatusINT DESC, priorityINT DESC, id ASC LIMIT 7;
هل كانت مفيدة؟

المحلول

تحتاج إلى استخدام والجمع بين معاييرك، وليس فقط الفواصل.

علي سبيل المثال

UPDATE $mysqlTable 
SET    queueStatusINT = '2'
WHERE  statusINT      =  '8'
AND    queueStatusINT != '2'
AND    type           =  '$type'

نصائح أخرى

تغيير التحديث الخاص بك إلى:

UPDATE $mysqlTable 
SET queueStatusINT='2’ 
WHERE statusINT=8
AND queueStatusINT !=2 
AND type=‘$type’;

أفترض أن QueueStatusint هو عدد صحيح (كما يوحي الاسم) - يجب عليك ترك "" لأنها ترمز إلى سلسلة / حرف.

أطيب التمنيات، فابيان

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top