SELECT LAST_INSERT_ID()在MySQL 5.6.11上不使用BIGINT

时间:2013-07-05 15:01:01

标签: mysql bigint last-insert-id

我有一个BIGINT字段作为MySQL Innodb表的自动增量和主键,运行MySQL Community Server 5.6.11。

在调用基本INSERT语句,然后调用SELECT LAST_INSERT_ID()之后,即使INSERT语句成功,我总是返回0。

任何想法可能会发生这种情况。

更新:这是我的表定义

CREATE TABLE `Booking` (
  `BookingId` bigint(20) NOT NULL AUTO_INCREMENT,
  `HotelId` int(11) NOT NULL,
  `AgentId` int(11) NOT NULL DEFAULT '0',
  `BookedOn` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `LastChangedBy` bigint(20) NOT NULL DEFAULT '0',
  PRIMARY KEY (`BookingId`)
 ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=71 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

这是我的INSERT语句

INSERT INTO Booking
(
    HotelId,
    AgentId,        
    BookedOn,
    LastChangedBy
)
VALUES
(
    iHotelId,
    iAgentId,       
    NOW(),
    0
);

SELECT LAST_INSERT_ID() AS BookingId;

0 个答案:

没有答案