(PECL tokyo_tyrant >= 0.1.0)
TokyoTyrantTable::putKeep — 新しいレコードを書き込む
$key
, array $columns
)新しいレコードをデータベースに書き込みます。 もしそのキーがすでに存在する場合は、レコードが存在することをあらわす例外をスローします。
key
行の主キー、あるいは NULL
。
columns
行の内容の配列。
主キーを返します。エラー時には TokyoTyrantException をスローします。
例1 TokyoTyrantTable::putKeep() の例
<?php
/* テーブルデータベースに接続します */
$tt = new TokyoTyrantTable("localhost", 1979);
/* null を渡して新しい uid を生成します */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));
/* 行を取得します */
var_dump($tt->get($index));
try {
$tt->putKeep($index, array("column1" => "something new", "new_column" => "other data"));
} catch (TokyoTyrantException $e) {
if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
echo "Existing record! Not modified\n";
} else {
echo "Error: " , $e->getMessage() , "\n";
}
}
/* 行を取得します */
var_dump($tt->get($index));
?>
上の例の出力は、 たとえば以下のようになります。
array(2) { ["column1"]=> string(9) "some data" ["column2"]=> string(9) "more data" } Existing record! Not modified array(2) { ["column1"]=> string(9) "some data" ["column2"]=> string(9) "more data" }