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