TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable
PHP Manual

# TokyoTyrantTable::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrantTable::putKeep — Put a new record

### Description

public void TokyoTyrantTable::putKeep ( string `$key` , array `$columns` )

Puts a new record into the database. If the key already exists this method throws an exception indicating that the records exists.

### Parameters

`key`

  The primary key of the row or `NULL`

`columns`

  Array of the row contents

### Return Values

Returns the primary key and throws TokyoTyrantException on error.

### Examples

Example #1 TokyoTyrantTable::putKeep() example

`<?php
/* Connect to a table database */
$tt = new TokyoTyrantTable("localhost", 1979);
/* Passing null to put generates a new uid */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));
/* Get the row back */
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";
}
}
/* Get the row back */
var_dump($tt->get($index));
?>`

The above example will output something similar to:

    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"
    }

### See Also

- TokyoTyrantTable::put() - Store a row

TokyoTyrantTable::putCat
TokyoTyrantTable::putNr
TokyoTyrantTable
PHP Manual