sql >> Base de Datos >  >> RDS >> Mysql

¿Se ven afectadas las claves primarias después de seleccionar, actualizar o insertar solo usando SQL?

SELECT LAST_INSERT_ID();

Y en serio, poner "clave principal de insertar mysql" en Google te da una respuesta de desbordamiento de pila como primer resultado.

EDITAR:más discusión basada en comentarios.

Si desea ver qué filas se ven afectadas por una actualización, simplemente haga un SELECT con la misma cláusula WHERE y JOIN criterios que la instrucción UPDATE, por ejemplo:

UPDATE foo SET a = 5 WHERE b > 10;

SELECT id FROM foo WHERE b > 10;

Si está INSERTANDO en una tabla que no tiene una clave principal de incremento automático, no necesita hacer nada especial. Ya sabe cuál es la nueva clave principal, porque la configuró usted mismo en la instrucción INSERT. Si desea un código que pueda manejar declaraciones INSERT provenientes de fuera del código que rastreará los cambios de PK, entonces deberá analizar la declaración INSERT o hacer que el código de llamada proporcione información sobre la clave principal.