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/ 毎日新作パズルで遊ぼう ♪ ------------------------------------------------------------------