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