# TokyoTyrant::putKeep

(PECL tokyo_tyrant >= 0.1.0)

TokyoTyrant::putKeep — Puts a record

### Description

public TokyoTyrant::putKeep ( mixed `$keys` [, string `$value` ] ) : TokyoTyrant

Puts a key-value pair into the database or multiple key-value pairs. If `keys` is string then the second parameter value defines the value. The second parameter is mandatory if `keys` is a string. If the key already exists this method throws an exception indicating that the records exists.

### Parameters

`keys`

  A string key or an array of key-value pairs

`value`

  The string value

### Return Values

This method returns a reference to the current object and throws TokyoTyrantException on failure.

### Examples

Example #1 tokyotyrant::putKeep() example

`<?php
/* Connect to a database on default port */
$tt = new TokyoTyrant("localhost");
/* Create a new key */
$tt->put("key", "value");
try {
$tt->putKeep("key", "new value");
} catch (TokyoTyrantException $e) {
if ($e->getCode() === TokyoTyrant::TTE_KEEP) {
echo "Existing record! Not modified\n";
} else {
echo "Error: " , $e->getMessage() , "\n";
}
}
echo $tt->get("key");
?>`

The above example will output:

    Existing record! Not modified
    value

### See Also

- TokyoTyrant::put() - Puts values
- TokyoTyrant::putCat() - Concatenates to a record