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
そこで何が起こっているのか、誰にも手がかりがありますか?