Mysql
 sql >> база данни >  >> RDS >> Mysql

Да се ​​засегнат първичните ключове след избор, актуализиране или вмъкване само с помощта на SQL?

SELECT LAST_INSERT_ID();

И сериозно, поставянето на „първичен ключ от вмъкване на mysql“ в Google ви дава отговор на Stack Overflow като първи резултат.

РЕДАКТИРАНЕ:повече дискусии въз основа на коментари.

Ако искате да видите кои редове са засегнати от актуализация, просто направете SELECT със същата клауза WHERE и критерии JOIN като оператора UPDATE, напр.:

UPDATE foo SET a = 5 WHERE b > 10;

SELECT id FROM foo WHERE b > 10;

Ако вмъквате в таблица, която няма първичен ключ за автоматично нарастване, не е необходимо да правите нищо специално. Вече знаете какъв е новият първичен ключ, защото сами сте го задали в израза INSERT. Ако искате код, който може да обработва изрази INSERT, идващи извън кода, който ще проследява промените на PK, тогава ще трябва или да анализирате израза INSERT, или извикващият код да предостави информация за първичния ключ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli, подготвени оператори и INSERT-SELECT

  2. Как мога да използвам ADO.NET DbProviderFactory с MySQL?

  3. C# MySQL пул за връзки

  4. Изберете ограничение за уникални записи с N реда

  5. MySQL C API библиотеки за iPhone