人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【MySQLに関する質問です】

PostgreSQLで開発することが殆どですが、
今回、MySQLで開発することになりました。

さて、参照整合性成約でCASCADEをしたいと思うのですが、
MySQLでCASCADEの成約をする場合、どのようにすればいいでしょうか?

ちなみに、PostgreSQLの場合なら、以下の様なコードを実現したいです。
-------------------------------------------------
CREATE TABLE tb_test(
test_id INTEGER
CONSTRAINT fk_test REFERENCES tb_parent(parent_id)
ON DELETE CASCADE
ON UPDATE CASCADE
);
-------------------------------------------------

これをMySQLで実行すればエラーが返されますが、どのようにすればうまくいくでしょうか?

ご教授願います。

●質問者: PEPOTA
●カテゴリ:ウェブ制作
✍キーワード:Cascade DELETE MySQL ON postgreSQL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● acute_hello_to
●50ポイント

http://dev.mysql.com/doc/mysql/ja/innodb-foreign-key-constraints...

MySQL 4.1 リファレンスマニュアル :: 7.5.5.2 FOREIGN KEY 制約

MySQLで作成する場合は、Innodbで作成してください。

Mysqlには、トランザクションや外部キーの装備された(つまり他のRDBMSと同等の)InnoDBでのTableとそれらの機能を除外して速度だけを求めたMyIsamを主に利用します。(それ以外のTable型もあります)

デフォルトがMyIsamなので、InnoDBで作成する場合は、Create Tableで明示します。また、バージョン4.0以上でないと、InnoDBが利用できません。

http://dev.mysql.com/doc/mysql/ja/create-table.html

MySQL 4.1 リファレンスマニュアル :: 6.5.3 CREATE TABLE 構文

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/mysql_06.htm

MySQL 編6 - テーブル作成、制約、項目タイプ、キー作成、順序作成 - SAK Streets

◎質問者からの返答

InnoDB型なら実行可能なんですね。

2つめのURLでの例文で実行してみます。

※自己レス

別Categoryで同一質問をしていました。

http://www.hatena.ne.jp/1127143736

こちらと、リンク先の回答で正常に動作しました。

ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ