úterý 10. dubna 2012

MySQL - získání dalšího čísla při autoincrement

Potřeboval jsem získat ID další entity, která se má teprve uložit do databáze. V MySQL existuje na tohle příkaz:
SHOW TABLE STATUS WHERE Name='nazev_tabulky'
Vrátí to jeden řádek, kde sloupec "Auto_increment" nese v sobě hodnotu čísla, která bude přiřazena další entitě. V Groovy je celá metoda nějak takhle (pro tabulku/entitu "invoice"):

public long getNextInvoiceNumber() {
        def sql = new Sql(dataSource)
        def firstRow = sql.firstRow('SHOW TABLE STATUS WHERE Name=\'invoice\'')
        def nextInvoiceNumber = Long.parseLong(firstRow.Auto_increment.toString())
        return nextInvoiceNumber
}

Žádné komentáře:

Okomentovat