Oznámení
Jak získat hodnotu autoincrement
před 7 lety
- ji_ri_k
- Člen | 44
Zdravím Vás,
chci se zeptat zda lze pomocí dibi (verze 2) na MySQL databázi zjistit hodnotu auto_increment. Nepotřebuji zjistit ID po posledním dotazu – prostě potřebuji kdykoliv bez jakéhokoliv vkládání dat znát hodnotu auto_increment – např. za použití metody getDatabaseInfo(). A pokud to lze tak mám ještě druhý dotaz – jak se to bude chovat při transakci, která ještě není „commitnutá“. Tzn. když vložím v transakci nějaký záznam a před „commitnutím“ budu chtít znovu zjistit hodnotu auto_inrement.
Potřebuji totiž spárovat dva zdroje dat XML a databázi, kde v XML mohou
být stejné ID jako v databázi ovšem u zcela odlišných záznamů.
Potřebuji tedy přepsat (změnit) již existující klíče v MySQL databázi
na nové (jsou provázány s jinými tabulkami) a namísto těch původních
vložit data z XML.
Výsledek musí být takový, že po této transakci zůstanou v MySQL
databázi údaje stejné jako v XML (se stejnými ID), ale také ty které
v XML nebyly – jen budou uložena dále pod jinými ID.
Pokud by bylo možné zjistit následující hodnotu auto_increment výše zmíněné řešení by bylo jednoduše realizovatelné. Nebo by to šlo řešit jinak? (jedná se o propojení dvou aplikací s tím, že jedna umí data jen odesílat nikoliv přijímat – proto tam vznikají stejná ID).
Moc děkuji za odpověď
před 7 lety
- Milo
- Nette Core | 1119
Pokud vím, z reflexe MySQL hodnotu autoincrement nevysosáš (nejsem ale MySQL guru). Když pogooglíš, najdeš SQL dotazy, jak hodnotu autoincrement selectnout.
Otázka k chování v transakci patří na nějaké MySQL fórum.