.. -*- rst -*-

.. highlightlang:: none

set
===

名前
----

set - 一件のレコードの値の更新

書式
----
::

 set table [key [columns [values [output_columns [id]]]]]

説明
----

groonga組込コマンドの一つであるsetについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。

setは、使用しているデータベースのテーブルの中の１件のレコードについて、カラムの値を更新し、更新したカラムの値を返却します。

引数
----

``table``

  値を更新しようとするレコードを含むテーブルの名前を指定します。

``key``

  値を変更するレコードの主キー値を指定します。主キーなしのテーブルの場合はこのパラメータを指定しても無視されます(idパラメータを代わりに指定します)。

``columns``

  テーブルに登録するレコードに値を設定するカラム名のリストを指定します。

``values``

  登録するレコードの値を表現した文字列を渡します。

  以下のいずれかの形式が使用できます。

  ``形式1``
    [カラム値1, カラム値2,..]

  ``形式2``
    {カラム名1: カラム値1, カラム名2: カラム値2}

  形式1の[カラム名1, カラム名2,..]の要素はcolumns引数が省略された場合のみ有効です。

``output_columns``

  出力するカラム名のリストをカンマ(',')区切りで指定します。

``id``

  レコードIDによってレコードを指定します。idパラメータを指定する場合は、keyパラメータを指定してはいけません。

返値
---

以下のようなjson形式で値が返却されます。

::

 [[リターンコード, 処理開始時間, 処理時間], [新規追加, [カラム値1, ...]]]

``リターンコード``

  grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は、続いてエラー内容を示す
  文字列が返されます。

``処理開始時間``

  処理を開始した時間について、1970年1月1日0時0分0秒を起点とした秒数を小数で返します。

``処理時間``

  処理にかかった秒数を返します。

``新規追加``

  レコードが追加されたかどうかを判定する。

``カラム値n``

  output_columnsで指定されたカラムの値。

例
--

テーブルEntryにレコードを登録します。::

 set Entry abandon body 放棄する

 [[0,1268208665.67547,0.045],[]]

関連項目
--------

:doc:`load`
