Autor Zpráva
Camo
Profil
Zdravím vás,
Prosím vás potreboval by som pri vkladaní riadku do mysql jeho nové idčko vložiť ako časť textu do jedného z ďalších stĺpcov. Čosi ako
insert into table (col1, col2) values ('value1', concat('value2',id))
Je také niečo v mysql možné?
lionel messi
Profil
Camo:
Je také niečo v mysql možné?
Áno.
Alphard
Profil
Nedávno jsem pracně hledal tento odkaz, snad pomůže.
Camo
Profil
Alphard:
No vidím, že je to celkom zapeklitý problém. Zase až tak nutne to nepotrebujem, aby som to teraz študoval. Urobím insert a následne update. Je to len jeden záznam.

PS: Toto je naozaj pravda: při smazání posledních záznamů recykluje dříve použitá id Ja som bol v tom, že auto increment sa nerecykluje.
Fisir
Profil
Reaguji na Cama:
Ja som bol v tom, že auto increment sa nerecykluje.
Auto increment ne, ale odkázané řešení od Alpharda, které využívá funkci max().
Keeehi
Profil
Camo:
Nejjednodušší bude provádět ten concat až při selectu. A nebo ve vrstvě co ty výsledky z databáze používá. A nebo si můžeš vytvořit pohled. Závislostí jednoho sloupce na druhém by ses měl vyvarovat.
Alphard
Profil
Camo:
No vidím, že je to celkom zapeklitý problém.
Aby nedošlo ke zmatení, vás jsem tam odkazoval jen kvůli příkladu na trigger before insert, to odkázané vlákno řeší komplexnější věc (začátek id pro každou skupinu od začátku) což jste nikde nepožadoval. Takže vybrat si jen to, co chcete.
Kajman
Profil
Camo:
Jak získat auto_increment právě vkládaného řádku

Ale osobně bych udělal také insert + update.

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: