Portál AbcLinuxu, 10. května 2025 14:06

Dotaz: dibi: viac insertov v jednom query

19.2.2013 09:34 adrinko | skóre: 22
dibi: viac insertov v jednom query
Přečteno: 405×
Odpovědět | Admin
Ahojte, nemate niekto skusenosti s dibi? Potreboval by som spravit nieco taketo:
INSERT INTO engineers (firstname)
VALUES(first);

INSERT INTO tasks (engineer_id, tool_id)
VALUES(LAST_INSERT_ID(), tool_id);
T.j. aby sa v jednom query urobil import do dvoch tabuliek, a pre druhu tabulku sa pouzil id zaznamu z prvej. Da sa na to nejako pekne urobit dibi prikaz? najlepsie s pouzitim pola pre tabulky ako
$arr = array(
   'firstname' => $meno,
);
$arr2 = array(
   'engineer_id' => LAST_INSERT_ID(),
   'tool_id' => $toolid,
);
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

21.2.2013 19:31 adrinko | skóre: 22
Rozbalit Rozbalit vše Re: dibi: viac insertov v jednom query
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pripájam možné riešenie bez multiquery
$arr2 = array(
    'engineer_id%SQL' => 'LAST_INSERT_ID()',
    'firstname' => ...,
);

$db->begin(); // pokud chceš v transakci
$db->query('INSERT INTO engineers %v', $arr);
$db->query('INSERT INTO tasks %v', $arr2);
$db->commit();
prípadne
$db->query(....);
$lastId = $db->getInsertId();
$db->query(...);

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.