sql >> Database teknologi >  >> RDS >> Mysql

Zend Db / Mysql - Indsæt med Select

Min løsning (ved at bruge Zend) var at LÅSE tabellen, derefter forespørge på item_number, tilføje resultatet til insert-forespørgslen, indsætte og LÅS tabellen op. Sådan LÅSES og LÅSES OP:

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

En anden måde er at skrive forespørgslen, så værdien bliver valgt under indsættelsen. Her er et eksempel:

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

Flere oplysninger om denne form for forespørgsel i MySQL Web



  1. Lagring af XML i en database til fleksibelt indhold

  2. Sådan optimerer du MySQL-visninger

  3. MYSQL sidste login og antal login inden for de sidste 3 måneder

  4. Oracle-skemabruger kan ikke oprette tabel i procedure