MySQL テーブルに制約を追加すると、この奇妙な動作が発生します。
[...] add constraint qrtz_blob_triggers_ibfk_1 foreign key [...]
SHOW CREATE TABLE は、制約を 2 回表示します。
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY [...]
CONSTRAINT `QRTZ_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY [...]
完全なセッションは次のとおりです。
mysql> DROP DATABASE IF EXISTS my_test; CREATE DATABASE my_test デフォルト文字セット utf8 collate utf8_bin;
クエリ OK、影響を受ける 2 行 (0.07 秒)
クエリ OK、影響を受ける 1 行 (0.00 秒)
mysql> my_test を使用します。
データベースが変更されました
mysql>
mysql> DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
クエリ OK、影響を受ける行は 0、警告は 1 (0.00 秒)
mysql>
mysql> CREATE TABLE `QRTZ_TRIGGERS` (
`TRIGGER_NAME` varchar(80) NOT NULL,
`TRIGGER_GROUP` varchar(80) NOT NULL,
主キー (`TRIGGER_NAME`,`TRIGGER_GROUP`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
クエリ OK、影響を受ける行は 0 (0.08 秒)
mysql>
mysql> DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
クエリ OK、影響を受ける行は 0、警告は 1 (0.00 秒)
mysql>
mysql> create table `QRTZ_BLOB_TRIGGERS` (`TRIGGER_NAME` varchar(80) not null, `TRIGGER_GROUP` varchar(80) not null, `BLOB_DATA` longblob, primary key (`TRIGGER_NAME`, `TRIGGER_GROUP`)) ENGINE=InnoDB DEFAULT CHARSET =utf8;
クエリ OK、影響を受ける行は 0 (0.08 秒)
mysql>
mysql> テーブル `QRTZ_BLOB_TRIGGERS` を変更 インデックス qrtz_blob_triggers_ibfk_1 (`TRIGGER_NAME`, `TRIGGER_GROUP`) を追加し、制約 qrtz_blob_triggers_ibfk_1 外部キー (`TRIGGER_NAME`, `TRIGGER_GROUP`) を追加 `QRTZ_TRIGGERS` (`TRIGGER_NAME`, `TRIGGER_GROUP`) を参照 ON UPDATE RESTRICT制限を削除します。
クエリ OK、影響を受ける行は 0 (0.18 秒)
レコード: 0 重複: 0 警告: 0
mysql>
mysql> show create table QRTZ_BLOB_TRIGGERS \G
**************************** 1. 行 ******************** ********
表: QRTZ_BLOB_TRIGGERS
テーブルの作成: CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
`TRIGGER_NAME` varchar(80) NOT NULL,
`TRIGGER_GROUP` varchar(80) NOT NULL,
`BLOB_DATA`ロングブロブ、
主キー (`TRIGGER_NAME`,`TRIGGER_GROUP`),
KEY `qrtz_blob_triggers_ibfk_1` (`TRIGGER_NAME`,`TRIGGER_GROUP`),
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`TRIGGER_NAME`, `TRIGGER_GROUP`),
CONSTRAINT `QRTZ_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY (`TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`TRIGGER_NAME`, `TRIGGER_GROUP`)
) エンジン=InnoDB デフォルト文字セット=utf8
セットで 1 行 (0.00 秒)
使用する
[...] add constraint QRTZ_BLOB_TRIGGERS_ibfk_1 foreign key [...]
正常に動作します。
MySQL 5.5 で Ubuntu 12.04 LTS を使用しています。
mysql-server-5.5 5.5.32-0ubuntu0.12.04.1
そこで何が起こっているのか、誰にも手がかりがありますか?