2010年3月10日

[mysql 15215] Re: [mysql 15214] Re: テーブル名の重複

Imai です。

ドットの前にスペースがある「aaa_bb 」のファイルが
frm ファイルのみ単体で存在するのようなので
その該当ファイルを削除することにより消すことが可能です。
※通常はそんなことしちゃダメですが

一応、MySQL 公式にもそのように記載されているので大丈夫だと思います。


http://dev.mysql.com/doc/refman/5.1/ja/innodb-troubleshooting-datadict.html

> 対応するテーブルを持たない孤立した .frm ファイルがある事を意味します。孤立した .frm ファイルは、マニュアルで削除する事でドロップできます。


2010年3月10日20:25 tk <tk@xxxxx>:
> 中瀬さん、遠藤さん、ミヤタさん、松山さん
>
> ありがとうございます。
> 外出していたもので、お返事が遅くなって申し訳ありません。
>
> datadir内に、
> aaa_bb.frm
> aaa_bb.MVI
> aaa_bb.MYD
> aaa_bb .frm(ドットの前にスペース)
> という名前のファイルがありました。
> ドットの前にスペースの入ったものは、
> MVI、MYDファイルはありませんでした。
>
> この"aaa_bb .frm(スペース入り)"を削除すると解決するとか、
> ありますでしょうか?
>
> よろしくお願い申し上げます。
> tk
>
>
> Nakase Hiroaki wrote:
>> 中瀬です
>>
>> MySQLの実行プラットフォームが書いてないので不明ですが、Windows
>> 以外(Unix)であれば、my.cnfの中でdatadirを指定してるか、デフォルト
>> のDB格納フォルダ内でDB名を見つけて、その中に各テーブル名の
>> フォルダがあると思います。
>>
>> そこに今該当しているテーブル名を見つけて、その名前でdrop文
>> を発行してみては?
>>
>> 以上
>>
>> <4B9689A5.30006@xxxxx> の、
>> ? ?"[mysql 15202] テーブル名の重複" において、
>> ? ?"tk <tk@xxxxx>"さんは書きました:
>>
>>> お世話になります。
>>> tkと申します。
>>>
>>> 間違って、同じ名前(見た目は)のテーブルができてしまいました。
>>> show table status;
>>> で見てみても、同じ名前、たとえば
>>> +-----------
>>> | Name | Type  | Row_format
>>> +-----------
>>> | aaa_bb | MyISAM | Dynamic
>>> | aaa_bb | MyISAM | Dynamic
>>> | abc_de | MyISAM | Dynamic
>>> | fghde | MyISAM | Dynamic
>>> という具合に、同じに見える名前と、それ以下の項目は全て同じの
>>> statusが表示されます。
>>>
>>> drop table aaa_bb;
>>> としてみると、片側だけが削除されますが、もう一つは残ります。
>>> 違うテーブルをもう一つ作り、そちらに移行すれば良いのかも知れませんが、
>>> 気持ちが悪いので、解決したいと思っています。
>>>
>>> 違いを明確にして、不要な一つを削除するには、どのようにすれば良いでしょうか?
>>> ご教授よろしくお願い申し上げます。
>>> MySQL version: 3.23.58
>>>
>>>
>>>
>>>
>>
>>
>> --------------------------
>> 中瀬
>>
>> http://cmssvr.sytes.net/
>> --------------------------
>>
>>
>>
>
>

投稿者 xml-rpc : 2010年3月10日 20:43
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/94038
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。