проверка транзакционных ограничений в MySQL - PullRequest
1 голос
/ 06 декабря 2011

Я хочу сделать что-то подобное:

1) начать транзакцию 2) запустить query1, игнорируя ограничения 3) запустить query2, игнорируя ограничения 4) проверить ограничения: 4а) если они в порядке - совершить 4б) также откат

пример:

DROP TABLE IF EXISTS `atable`;
CREATE TABLE `atable` (
  `id` int AUTO_INCREMENT,

  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `btable`;
CREATE TABLE `btable` (
  `id` int AUTO_INCREMENT,
  `a_id`  int,
  PRIMARY KEY (`id`),
  CONSTRAINT `b_fk` FOREIGN KEY (`a_id`) REFERENCES `atable` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

первый запуск этого скрипта - проход .... второй - не потому, что btable ссылается на atable, поэтому он не работает на "drop table atable".

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...