sql >> Database >  >> RDS >> Mysql

Krijgt primaire sleutels invloed na selecteren, bijwerken of invoegen alleen met behulp van SQL?

SELECT LAST_INSERT_ID();

En serieus, als u "primaire sleutel van mysql invoegen" in Google plaatst, krijgt u als eerste resultaat een Stack Overflow-antwoord.

EDIT:meer discussie op basis van opmerkingen.

Als u wilt zien welke rijen worden beïnvloed door een update, voert u gewoon een SELECT uit met dezelfde WHERE-clausule en JOIN-criteria als de UPDATE-instructie, bijvoorbeeld:

UPDATE foo SET a = 5 WHERE b > 10;

SELECT id FROM foo WHERE b > 10;

Als u in een tabel INSERT die geen primaire sleutel voor automatisch verhogen heeft, hoeft u niets speciaals te doen. U weet al wat de nieuwe primaire sleutel is, omdat u deze zelf instelt in het INSERT-statement. Als u code wilt die INSERT-instructies aankan die van buiten de code komen die PK-wijzigingen bijhoudt, moet u ofwel de INSERT-instructie ontleden, of de aanroepende code informatie over de primaire sleutel laten geven.




  1. Zoek gebruiker in Laravel op gebruikersnaam

  2. AVG + Innerlijke samenvoeging

  3. Django AttributeError 'float' object heeft geen attribuut 'split'

  4. De PostgreSQL gem pq voor Heroku . installeren