Mam tabelę z kolumną klucza i kolumną Licznik. Muszę zrobić coś takiego:
SELECT counter=counter+1 FROM table WHERE key="mykey"
Zasadniczo potrzebuję inkrementować kolumnę Counter i zwrócić nową wartość. Jak mogę to zrobić w MySQL 5.5?
Odpowiedzi:
24 dla odpowiedzi № 1update mytable set count=last_insert_id(counter+1) where key="mykey"
Następnie
select last_insert_id()
last_insert_id()
można przekazać argument, aby "ustawić" go (i zwrócić tę wartość), a wywołanie go bez argumentu zwróci wartość ponownie. Stan wewnętrzny używany przez last_insert_id()
jest za połączenie, co oznacza, że to samo update
oświadczenie wydane w innym połączeniu nie wpłynie na pierwsze połączenie.
Odniesienie: last_insert_id()