(PECL tokyo_tyrant >= 0.1.0)
TokyoTyrantTable::putKeep — Enregistre un nouvel enregistrement
$key
, array $columns
) : voidEnregistre un nouvel enregistrement dans la base de données. Si la clé existe déjà, la méthode lancera une exception indiquant qu'un enregistrement référencé sous cette clé existe déjà dans la base de données.
key
La clé primaire de la ligne, ou NULL
.
columns
Tableau contenant les données de la ligne.
Retourne la clé primaire et lance une exception TokyoTyrantException si une erreur survient.
Exemple #1 Exemple avec TokyoTyrantTable::putKeep()
<?php
/* Connexion à la base de données */
$tt = new TokyoTyrantTable("localhost", 1979);
/* Passage de la valeur null pour générer un nouvel identifiant unique */
$index = $tt->put(null, array("column1" => "some data", "column2" => "more data"));
/* Récupère la ligne précédente */
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";
}
}
/* Récupère la ligne précédente */
var_dump($tt->get($index));
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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" }