1

MySQLには2つのテーブルがあります

役割

role_id | role_name

user_roles

user_id | role_id

user_roles テーブルの role_id はFOREIGN KEYです。role_id がuser_rolesテーブルにも存在する場合、 rolesテーブルの行の削除を制限したい

これは、テーブルの作成中に整合性設定から行うことができると思います。CASCADE や RESTRICT が何をし、どのように機能するのかわかりません。

FOREIGN KEYは Storage Engine MyISAMでサポートされていないことをどこかで読んだので、両方の Storage Engine ( MyISAMInnoDB )について教えてください。

4

2 に答える 2

1

すべてがここにあります: http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

更新: myisam について: MySQL MyISAM ストレージ エンジンで削除カスケードを使用するには?

于 2012-07-03T10:02:23.277 に答える
1

MyISAM エンジンが外部キーの整合性チェックをサポートしていないことを正しくお読みください。私のアドバイスは、innodbに行くことです。

ほとんどの場合、MyISAM テーブルに固執したいときに使用する別のオプションがあります。つまり、これらすべてをフロントエンドで管理します。しかし、フロントエンドに頭痛の種を追加するので、これは良くない場合があります。

をやるInnoDB

于 2012-07-03T10:02:28.580 に答える