1

lib_mysqludf_json を正しくインストールしました。json_array、json_members などの関数は正しく機能しています。json_object 関数との事があります。

キーと値の 2 つの列を持つテーブルがあります。このクエリを実行します

select json_object(key, value) as settings from ph_settings where key = 1

このエラーが発生します

ERROR 1123 (HY000): Can't initialize function 'json_object'; Invalid json member name - name cannot be empty

これは何についてですか?エラー メッセージから、json_member を json-object 関数内にラップする必要があることが多少暗示されます。しかし、ドキュメントにはこの例があり、それらによれば機能します。

select json_object(
    customer_id
   ,first_name
   ,last_name
   ,last_update
) as customer
from   customer 
where  customer_id =1;

助けてください...

4

1 に答える 1

1

すべての列に次のように名前を付けた場合にのみ機能することがわかりました。

select 
    json_object(id as 'id', name as 'name',  address as 'address') AS 'blobby' 
from 
    tempo_1;

上記の例では、列のエイリアスに''区切り文字は必要ありません。また、最後の行のエイリアスはオプションのようであるため、以下も有効であるように見えます。

select 
    json_object(id as id, name as name,  address as address) 
from 
    tempo_1;
于 2012-09-28T10:51:09.720 に答える