Autor Zpráva
gardener
Profil
Zdravím,

Chtěl bych se zeptat, jak co nejefektivněji zapsat INSERT, ve kterém zároveň provádím select, potřebuji do tobulku sekcí vložit novou nový zaznam i, tak aby sloupec označující číselný alias pro sekci obsahoval hodnotu vyšší o +1, než záznam předchozí(id je autoinkrement)

Zkoušel jsem něco takovéhoto:

INSERT INTO tbl_photo_sections VALUES('další sekce',(select MAX(tbl_photos_id)+1 FROM tbl_photo_sections))


Ale to není ono, poradí někdo s nějakým fajn řešením?

Díky za každou radu
Taps
Profil
gardener:
nebylo by to možné zapsat takto
INSERT INTO tbl_photo_sections VALUES('další sekce','".mysql_insert_id()."+1')
gardener
Profil
Znám jenom last_insert_id, ale to bere vždy jen id sloupec, a ten v mém případě nehraje roli, resp. jeho hodnota se může lišit od hodnoty v sloupci tbl_photos_id .
Potřebuji zjistit poslední hodnotu ze sloupce:tbl_photos_id a k tomu přičíst hodnotu.
Nox
Profil
Taps:
Nebylo, protože předtím žádný insert nemusel proběhnout a současný se ještě nevykonal

gardener:
"není to ono" je dost na prd popis ;) hází to chybu? vkládá něco jiného? (co?)....etc.

max_id+1 se nemusí rovnat next auto incrementu, na to pozor... když budou ID 1,2,3,4,5 a smažu 4,5, tak increment bude stejně 6

nechápu ale použití v tomto konkrétním případě...když necháš položku prázdnou, dosadí se příslušná hodnota sama

ale jinak na řešení tohoto přišel kdysi Joker:
http://diskuse.jakpsatweb.cz/?action=vthread&forum=28&topic=90532

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: