InnoDBデータベースはサポートしていません。したがって、5.0からMySQL 5.5に移行する前に、私はすべてのInnoDBテーブルをMyISAMに変更したいと思いますが、それらの多くには外部キー制約があります。foreign_key_checks = 0が設定されていませんMySQL 5.0
したがって、私はセッションレベルでset foreign_key_checks=0
を実行してもそれを無効にすると思っていましたが、依然として外部キーに対して同じエラーが発生します。
どのような提案も大きな助けになるでしょう。
mysql> SET foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> use sn;
Database changed
mysql> alter table facility engine='MyISAM';
ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint fails
は、驚くべきこと:
mysql> SHOW Variables WHERE Variable_name='foreign_key_checks';
Empty set (0.00 sec)
mysql> SET foreign_key_checks = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW Variables WHERE Variable_name='foreign_key_checks';
Empty set (0.00 sec)
MySQL 5.0 documentation変数が実際に存在して示しています。
Here is the table structure of `facility` table:
| facility | CREATE TABLE `facility` (
`FacilityId` bigint(20) NOT NULL auto_increment,
`FacilityName` varchar(45) default NULL,
`ViewerId` bigint(20) default NULL,
`MessageTemplate` varchar(256) default NULL,
`RecApp` varchar(60) default NULL,
`RecFacility` varchar(60) default NULL,
`SendApp` varchar(60) default NULL,
`SendFacility` varchar(60) default NULL,
`MirthChannelEnable` int(1) NOT NULL default '0',
`CompletenessCriteria` int(2) NOT NULL,
`RetryLimit` int(2) NOT NULL default '3',
`WatchDelay` int(11) NOT NULL,
`RetryDelay` int(11) NOT NULL,
`AckTimeOut` int(11) NOT NULL,
`KeepConOpen` int(1) NOT NULL default '0',
`SendTimeout` int(11) NOT NULL,
`EncryptURL` int(1) NOT NULL default '0',
`Host` varchar(15) NOT NULL,
`Port` int(11) NOT NULL,
`CreationDate` timestamp NOT NULL default CURRENT_TIMESTAMP,
`Description` varchar(256) default NULL,
`EventLogOffset` int(11) NOT NULL default '0',
PRIMARY KEY (`FacilityId`),
KEY `Fk_Fac_ViewerId_idx` (`ViewerId`),
CONSTRAINT `Fk_Fac_ViewerId` FOREIGN KEY (`ViewerId`) REFERENCES `viewer` (`ViewerId`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
テーブル構造を表示 –
@MuhammadMuazzamおねがいします。他のテーブルでも動作しません。制約があるため、テーブル固有の問題ではない可能性があります。 – kingsmasher1