2016-10-24 21 views
0

mysqlを使用して外部制約を削除しようとしていますが、そのキーを削除できません。mysqlの外部キーを削除する方法

SHOW CREATE TABLE xxxx; 

そのショー、この問題を解決する方法

CREATE TABLE `xxxx` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`user_id` int(11) NOT NULL, 
`name` text NOT NULL, 
`article_title` text NOT NULL, 
`created_at` datetime NOT NULL, 
`last_modified_at` datetime NOT NULL, 
`latest_version` tinyint(4) NOT NULL, 
`status` tinyint(4) NOT NULL, 
`is_deleted` enum('0','1') NOT NULL, 
`deleted_time` datetime NOT NULL, 
`manual_authorgroup_data` text NOT NULL, 
PRIMARY KEY (`id`), 
KEY `user_id` (`user_id`), 
CONSTRAINT `fk_users_xxxx_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE 
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=latin1 

、私を助けてください。

+4

http://stackoverflow.com/questions/14122031/how-to-remove-constraints-from-my-mysql-table – Marco

+0

、これを試してみてください –

+0

@GoudaElalfy#1553 - インデックス 'user_id'を削除できません:外部キー制約に必要です –

答えて

1

エラーは何ですか?

ALTER TABLE `xxxx` 
DROP FOREIGN KEY'fk_users_xxxx_user_id' 
+0

あなたは正しいですが、私のために働いていない、上記のコメントを参照してください... –

+0

select TABLE_NAME、 COLUMN_NAME、CONSTRAINT_NAME、REFERENCED_TABLE_NAME、INFORMATION_SCHEMA.KEY_COLUMN_USAGEのREFERENCED_COLUMN_NAMEはREFERENCED_TABLE_NAME = '

'です。この構文を使用して、外部キー名を知ることができます。次に落とそうとする。 – suguna

+0

REFERENCED_TABLE_NAMEは?? –

関連する問題