2016-07-31 86 views
1

有一部分查詢我不明白這個查詢有什麼作用?

可以解釋一下嗎?

(@a:=concat(@a,schema_name,'<br>')

如果我們認爲schema_name回報所有數據庫命名

它是循環還是什麼我不明白

+0

這是一個糟糕的代碼國際海事組織。這種數據顯示問題可以在css中處理。 – Strawberry

回答

0

據推測,這是在select聲明:

select @a := concat(@a, schema_name, '<br>') 
from t; 

如果@a初始化爲NULL,則這返回NULL。通常,它會被初始化爲一個空字符串('')。

如果是這樣,它將構造一個字符串,其中包含schema_name後跟<br>的所有值。因此,如果表包含:

schema_name 
    a 
    b 
    c 

其結果將是'a<br>b<br>c<br>'@a變量(和MySQL將返回該結果也一樣)。

在MySQL中,您通常會使用group_concat()來實現此目的。

+0

好的,但是你能告訴我''='做了什麼嗎? – dragon

+0

'a
b
c
'會是'@ a'值嗎? – dragon

+0

@dragon。 。 。是。 ':='爲'select','update'或'delete'語句中的變量賦值。 –