TokyoTyrantTable::putKeep
(PECL tokyo_tyrant >= 0.1.0)
TokyoTyrantTable::putKeep — Enregistre un nouvel enregistrement
Description
public void TokyoTyrantTable::putKeep
( string
$key
, array $columns
)Enregistre 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.
Liste de paramètres
-
key
-
La clé primaire de la ligne, ou
NULL
. -
columns
-
Tableau contenant les données de la ligne.
Valeurs de retour
Retourne la clé primaire et lance une exception TokyoTyrantException si une erreur survient.
Exemples
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" }