1

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

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

任何想法为什么会发生这种情况。

更新:这是我的表定义

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;
4

0 回答 0