मुद्दा यह है कि आप select mix को मिक्स नहीं कर सकते और set एक कथन में, निश्चित रूप से सिंटैक्स त्रुटि होगी:
select*from t where 1 and example@sqldat.com=1;
अगर आप set करना चाहते हैं select . के भीतर , उपयोग करें वाक्य - विन्यास। इसे बदलें:
select*from t where 1 and example@sqldat.com=1;
में:
select*,@a:=1 from t where 1;
यहां बताया गया है कि आप प्रत्येक पर वैरिएबल को कैसे अपडेट करते हैं पंक्ति:
create table t(id int); insert t values(1),(2),(3);
example@sqldat.com=0;
example@sqldat.com:=id from t;
और आप concat . भी कर सकते हैं :
example@sqldat.com='0';
select @a:=concat(@a,',',id)from t;
या concat अग्रणी 0 . के बिना :
example@sqldat.com='';
select @a:=concat(@a,if(@a='','',','),id)from t;
हालांकि, मैनुअल स्पष्ट रूप से बताता है कि यह खतरनाक है:
इसका भी उल्लेख किया गया है Xaprb पर .
अंत में, यदि आप विचित्र कर रहे हैं वेरिएबल और आदि के लिए भिन्न मान प्रकार निर्दिष्ट करने जैसी चीज़ें, चेकआउट मैनुअल यह सुनिश्चित करने के लिए कि आप जटिल तंत्र को समझते हैं।