sql >> Databáze >  >> RDS >> Mysql

Ovlivnit primární klíče po výběru, aktualizaci nebo vložení pouze pomocí SQL?

SELECT LAST_INSERT_ID();

A vážně, zadáním „primárního klíče z insert mysql“ do Google získáte jako první výsledek odpověď Stack Overflow.

EDIT:další diskuse na základě komentářů.

Pokud chcete vidět, které řádky jsou aktualizací ovlivněny, stačí provést SELECT se stejnou klauzulí WHERE a kritérii JOIN jako příkaz UPDATE, např.:

UPDATE foo SET a = 5 WHERE b > 10;

SELECT id FROM foo WHERE b > 10;

Pokud vkládáte do tabulky, která nemá primární klíč s automatickým přírůstkem, nemusíte dělat nic zvláštního. Co je nový primární klíč, už víte, protože jste si jej sami nastavili v příkazu INSERT. Pokud chcete kód, který dokáže zpracovat příkazy INSERT přicházející mimo kód, který bude sledovat změny PK, budete muset buď příkaz INSERT analyzovat, nebo nechat volající kód poskytnout informace o primárním klíči.




  1. Výchozí hodnota EF6 Oracle pro sloupec při první migraci kódu

  2. Kdy zvážit Solr

  3. Apostrofy a dvojtečky v Pretty Links

  4. Jak odstranit trigger v oracle, který obsahuje speciální znak?