[前][次][番号順一覧][スレッド一覧]

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]