SELECT LAST_INSERT_ID() Не работает с BIGINT в MySQL 5.6.11

У меня есть поле 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;

person neildt    schedule 05.07.2013    source источник
comment
Какова ваша таблица определения? Каково ваше заявление о вставке?   -  person O. Jones    schedule 05.07.2013
comment
Я обновил свой вопрос как с определением таблицы, так и с заявлением о вставке.   -  person neildt    schedule 05.07.2013
comment
Это работает для меня в моей локальной версии Mysql.... дайте нам более подробную информацию (мне нужно удалить on delete no action on update no action)   -  person jcho360    schedule 05.07.2013
comment
У меня нет сервера 5.6 для работы, извините. Если вы удалите ON DELETE NO ACTION ON UPDATE NO ACTION из определения таблицы, это сработает? У меня на 5.5 так. Как узнать, что вставка сработала?   -  person O. Jones    schedule 05.07.2013
comment
@ jcho360 Какую версию MySQL вы используете?   -  person neildt    schedule 05.07.2013
comment
@OllieJones ON DELETE NO ACTION ON UPDATE NO ACTION вызывает ошибку только при создании таблицы. Моя проблема заключается в инструкции INSERT и факте, что SELECT LAST_INSERT_ID() AS BookingId всегда возвращает 0   -  person neildt    schedule 05.07.2013
comment
mysql Ver 14.14 Distrib 5.5.9, для osx10.6 (i386) с использованием оболочки EditLine   -  person jcho360    schedule 05.07.2013
comment
Вы можете показать нам больше кода?   -  person jcho360    schedule 05.07.2013
comment
@ jcho360 Зачем вам нужно больше кода? Я запускаю эти два оператора MySQL в MySQL Workbench. Больше показать нечего?   -  person neildt    schedule 05.07.2013
comment
Мой вопрос в силе. Мешает ли наличие ON DELETE NO ACTION ON UPDATE NO ACTION в вашем DDL работе LAST_INSERT_ID()? Я прекрасно понимаю, что это не должно вмешиваться. У меня вопрос, не мешает?   -  person O. Jones    schedule 05.07.2013
comment
Добро пожаловать в StackOverflow. Вы задаете хороший вопрос, который поставил наших участников в тупик, потому что по крайней мере некоторые из нас не могут воспроизвести вашу проблему. Такие вопросы, как «можете ли вы показать больше кода и что, если вы попробуете это», предназначены для того, чтобы помочь выяснить, чем отличается ваша среда от нашей. Как установлены переменные в предложении VALUES вашего оператора INSERT?   -  person O. Jones    schedule 05.07.2013
comment
@OllieJones Спасибо за ваш ответ и полезный комментарий. ON DELETE NO ACTION ON UPDATE NO ACTION было включено по ошибке из-за ограничения внешнего ключа для некоторых полей, не связанных с PK, и поэтому я не думаю, что это имеет значение. Если я удалю это и создам таблицу без внешнего ключа, все будет в порядке и будет работать. Но, если я добавлю в иностранном, это не сработает.   -  person neildt    schedule 05.07.2013
comment
Так что мне лучше повторно опубликовать новый вопрос со всеми внешними ключами?   -  person neildt    schedule 05.07.2013