2010年9月29日

[mysql 15401] Re: テーブル制約の削除について

渡辺です。


MySQL5.0以降であれば、

SELECT `INDEX_NAME`
FROM `information_schema`.`STATISTICS`
WHERE `TABLE_SCHEMA` LIKE 'スキーマ名'

AND `TABLE_NAME` LIKE 'テーブル名'
AND `COLUMN_NAME` LIKE '間違ってインデックスを張ってしまったカラム名';

で削除したいインデックスの「インデックス名」がわかります。その上で

ALTER TABLE `スキーマ名`.`テーブル名` DROP INDEX `インデックス名`;

すればインデックスが削除される と認識しています。詳しい方違ったらご指摘願います。


> -----Original Message-----
>
> 高井と申します。
>
> マニュアルを読んだのですがよくわからなかったので質問させていただきます。
>
> 次のテーブルがあります。
>
> mysql> desc master
> +-------+-----------+------+-----+-------------------+-------+
> | Field | Type | Null | Key | Default | Extra |
> +-------+-----------+------+-----+-------------------+-------+
> | id | char(15) | YES | UNI | NULL | |
> | nui | char(8) | YES | UNI | NULL | |
> | date | timestamp | NO | | CURRENT_TIMESTAMP | |
> +-------+-----------+------+-----+-------------------+-------+
> 3 rows in set (0.01 sec)
>
> ここで列のidのuniqueを外したいのですが、alter table文でどのように指定す
> ればよいのでしょうか。
>
> 実は本番機でidに対してuniqueを追加してしまい大変に困っております。。。
>
> よろしくお願いします。
>
>
>
>
>


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




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