• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • TokyoTyrantTable::putKeep()

    (PECL tokyo_tyrant >= 0.1.0)

    Put a new record

    说明

    publicTokyoTyrantTable::putKeep(string $key,array $columns): void

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

    参数

    $key

    The primary key of the row or NULL

    $columns

    Array of the row contents

    返回值

    Returns the primary key and throws TokyoTyrantException on error.

    范例

    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));
    ?>
    

    以上例程的输出类似于:

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

    参见

    • TokyoTyrantTable::put() Store a row