mysql:9931
From: "Shuichi Tamagawa" <"Shuichi Tamagawa" <shuichi@xxxxxxxxxx>>
Date: Thu, 29 Jul 2004 13:57:13 -0700
Subject: [mysql 09931] Re: 日本語カラム名を使用した時の参照制約について
玉川です。 本件確認してみましたが、Bug#4649と重複するようなので バグシステムにコメントを追加しておきました。 ステータスは[Ver]になっていますので、既に承認されています。 http://bugs.mysql.com/bug.php?id=4649 また皆さんから投票を、と思っていたのですが、 どうやら投票機能がなくなってしまったようです。 ----- Original Message ----- From: "Hirofumi Fujiwara" <fuji@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Wednesday, July 28, 2004 10:57 PM Subject: [mysql 09928] 日本語カラム名を使用した時の参照制約について > 藤原です > > カラム名に日本語を使用した場合、INNODB では参照制約がうまくいかない > 場合があるようです。 > > http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html > にある最初のサンプル、および Paul DuBoisのMySQL本 p.248 を参考に以下の > ようなSQL文を作って、テーブル作成を試みました。 > > ------------------------------------------------------------------------ > original SQL statements This works well > ------------------------------------------------------------------------ > create table parent ( > par_id INT NOT NULL, > PRIMARY KEY (par_id) > ) TYPE = INNODB; > > create table child ( > par_id INT NOT NULL, > child_id INT NOT NULL, > PRIMARY KEY (par_id,child_id), > FOREIGN KEY (par_id) REFERENCES parent(par_id) ON DELETE CASCADE > ) TYPE = INNODB; > > ------------------------------------------------------------------------ > child_id is replaced as 子供 This works well > ------------------------------------------------------------------------ > create table parent ( > par_id INT NOT NULL, > PRIMARY KEY (par_id) > ) TYPE = INNODB; > > create table child ( > par_id INT NOT NULL, > 子供 INT NOT NULL, > PRIMARY KEY (par_id,子供), > FOREIGN KEY (par_id) REFERENCES parent(par_id) ON DELETE CASCADE > ) TYPE = INNODB; > > ------------------------------------------------------------------------ > par_id is replaced as 親 This doesn't work > ------------------------------------------------------------------------ > create table parent ( > 親 INT NOT NULL, > PRIMARY KEY (親) > ) TYPE = INNODB; > > create table child ( > 親 INT NOT NULL, > child_id INT NOT NULL, > PRIMARY KEY (親,child_id), > FOREIGN KEY (親) REFERENCES parent(親) ON DELETE CASCADE > ) TYPE = INNODB; > > > mysql> create table parent ( > -> 親 INT NOT NULL, > -> PRIMARY KEY (親) > -> ) TYPE = INNODB; > Query OK, 0 rows affected, 1 warning (0.07 sec) > > mysql> create table child ( > -> 親 INT NOT NULL, > -> child_id INT NOT NULL, > -> PRIMARY KEY (親,child_id), > -> FOREIGN KEY (親) REFERENCES parent(親) ON DELETE CASCADE > -> ) TYPE = INNODB; > ERROR 1005 (HY000): Can't create table './test/child.frm' (errno: 150) > > ------------------------------------------------------------------------
9928 2004-07-29 14:57 [Hirofumi Fujiwara <f] 日本語カラム名を使用した時の参照制約について 9929 2004-07-29 16:30 ┣[<akebi.yaji@xxxxxxxx] 9930 2004-07-29 16:51 ┃┗[Hirofumi Fujiwara <f] 9932 2004-07-30 06:30 ┃ ┗["Shuichi Tamagawa" <] -> 9931 2004-07-30 05:57 ┗["Shuichi Tamagawa" <] 9934 2004-07-30 14:53 ┗[Hirofumi Fujiwara <f]