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

MySQL SELECT LAST_INSERT_ID() за комбиниран ключ. Възможно ли е?

да. Не можете да имате няколко полета за автоматично увеличение в една таблица.

CREATE TABLE foo (
  id1 int(11) NOT NULL auto_increment,
  id2 int(11) NOT NULL default '0',
  PRIMARY KEY  (id1, id2)
);

INSERT INTO foo VALUES (DEFAULT, 2);

SELECT LAST_INSERT_ID(); -- returns 1, the value generated for id1

LAST_INSERT_ID() връща стойността само за колона, декларирана AUTO_INCREMENT . Няма функция за връщане на стойността в съставен първичен ключ, който не е бил генерирани от системата. Вече трябва да знаете тази стойност, тъй като току-що сте я дали в 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. Не е уникална таблица/псевдоним

  2. Намерете редове, които имат една и съща стойност в колона в MySQL

  3. mysql Пребройте множество поява на мултиплексирани записи

  4. Защо QMYSQL драйверът не е зареден в QT5.2?

  5. Превъртете в цикъл заявка за вмъкване в PHP