sql >> Databáze >  >> RDS >> Mysql

Zend Db / Mysql - Vložit pomocí Select

Mým řešením (pomocí Zendu) bylo ZAMKNUTÍ tabulky, pak dotaz na číslo_položky, připojit výsledek k vkládacímu dotazu, vložit a ODEMKNOUT tabulku. Zde je postup ZAMKNUTÍ a ODEMKNUTÍ:

$sql = "LOCK TABLE items WRITE";
$this->getAdapter()->query($sql);

//run select to get last item_number
//append result to insert array
//insert

$sql = "UNLOCK TABLES";
$this->getAdapter()->query($sql);

Dalším způsobem je napsat dotaz tak, aby byla hodnota vybrána během vkládání. Zde je příklad:

$sql = INSERT INTO items (item_id, item_family, item_name, item_number) 
              VALUES (item_id, item_family, item_name, (SELECT item_number FROM... )+1);
$this->getAdapter()->query($sql);

Další informace o tomto druhu dotazu naleznete v Web MySQL



  1. Nelze otevřít a zamknout tabulky oprávnění:Tabulka 'mysql.user' neexistuje

  2. Poloměr více bodů zeměpisné šířky/délky

  3. Proč vůbec používat *DB.exec() nebo připravené příkazy v Golangu?

  4. Příklad připojení JavaFX MySQL prosím