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

mysql:9893

From: Hirofumi Fujiwara <Hirofumi Fujiwara <fuji@xxxxxxxxxx>>
Date: Thu, 22 Jul 2004 11:53:54 +0900 (JST)
Subject: [mysql 09893] 参照制約での日本語カラム名の使用

藤原です。

http://dev.mysql.com/doc/mysql/ja/InnoDB_foreign_key_constraints.html
  FOREIGN KEY 制約 に関して、カラム名(index_col_nameの部分)に漢字(以下
の例はujis)を使うと、以下のようにエラーになります。

  TEST1, TEST2 は、英字 `A` でテストした場合で、OKになります。
  TEST3, TEST4 は、UJISの `あ` でテストした場合で、エラーになってしま
  います。

  カラム名に、ASCII以外を使うとエラーになるようです。

  その他にも、カラム名にASCII以外を使うとエラーになるケースとかありま
  すでしょうか?

========================================================================
mysql> CREATE TABLE TEST1
    -> (A smallint not null,UNIQUE INDEX IX_TEST1(A)) type=InnoDB;
Query OK, 0 rows affected, 1 warning (0.05 sec)
 
mysql> CREATE TABLE TEST2
    -> (A smallint not null,UNIQUE INDEX IX_TEST2(A)) type=InnoDB;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> ALTER TABLE TEST1 ADD CONSTRAINT FK_TEST1 FOREIGN KEY(A)
    ->  REFERENCES TEST2(A);
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> show create table TEST1;
+-------+---------------------------------------------------------
| Table | Create Table
+-------+---------------------------------------------------------
| TEST1 | CREATE TABLE `TEST1` (
  `A` smallint(6) NOT NULL default '0',
  UNIQUE KEY `IX_TEST1` (`A`),
  CONSTRAINT `FK_TEST1` FOREIGN KEY (`A`) REFERENCES `TEST2` (`A`)
) ENGINE=InnoDB DEFAULT CHARSET=ujis |
+-------+---------------------------------------------------------
1 row in set (0.00 sec)

mysql> CREATE TABLE TEST3
    -> (あ smallint not null,UNIQUE INDEX IX_TEST3(あ)) type=InnoDB;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
mysql> CREATE TABLE TEST4
    -> (あ smallint not null,UNIQUE INDEX IX_TEST4(あ)) type=InnoDB;
Query OK, 0 rows affected, 1 warning (0.08 sec)
 
mysql> ALTER TABLE TEST3 ADD CONSTRAINT FK_TEST3 FOREIGN KEY(あ)
    ->  REFERENCES TEST4(あ);
ERROR 1005 (HY000): Can't create table './test/#sql-7b21_4.frm' (errno: 150)
mysql> show create table TEST3;
+-------+---------------------------------------------------------
| Table | Create Table
+-------+---------------------------------------------------------
| TEST3 | CREATE TABLE `TEST3` (
  `あ` smallint(6) NOT NULL default '0',
  UNIQUE KEY `IX_TEST3` (`あ`)
) ENGINE=InnoDB DEFAULT CHARSET=ujis |
+-------+---------------------------------------------------------
1 row in set (0.00 sec)
========================================================================

------------------------------------------------------------------
株式会社 タイムインターメディア       藤原 博文 fuji@xxxxxxxxxx
本社 160-0002 東京都新宿区坂町26-27 IPBビル    TEL 03-5362-9009
URL  http://www.timedia.co.jp/                    FAX 03-5362-9008
地図 http://www.timedia.co.jp/company/map/     新宿線曙橋駅徒歩5分
------------------------------------------------------------------
♪  Puzzle Japan  http://www.puzzle.jp/  毎日新作パズルで遊ぼう ♪
------------------------------------------------------------------

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