• 締切済み
  • すぐに回答を!

MySQLのカラムを削除したが,それを復元したい

MySQLのテーブル内のカラムを再編成しようとしています. そこで,カラムAをALTER TABLE DROPで削除しました. その直後,カラムAは必要であることに気づきました. テーブルのバックアップを取っていないので,困ります. この削除コマンドをキャンセル(UNDO)したり,削除したカラムを復元できますか?

共感・応援の気持ちを伝えよう!

  • MySQL
  • 回答数1
  • 閲覧数440
  • ありがとう数0

みんなの回答

  • 回答No.1
  • okg00
  • ベストアンサー率39% (1322/3338)

http://dev.mysql.com/doc/refman/5.1/ja/implicit-commit.html MySQLではDDLはロールバックできません。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • カラムの削除が出来ません

    Microsoft SQL2000を使用しているのですが あるテーブル(table_A)のカラム(column_A)を削除したいので 以下のようなクエリ及び、GUIでの削除を実行しました。 ----------------実行クエリ----------------------- ALTER TABLE dbo.table_A DROP COLUMN column_A GO ------------------------------------------------- ところがどちらの削除を方法を実行しても以下のようなエラーメッセージが返されます。 -----------------エラーメッセージ---------------- テーブル 'table_A' - テーブルを修正できません。 ODBC エラー : [Microsoft][ODBC SQL Server Driver][SQL Server] 行 2: 'column_A' の近くに無効な構文があります。 ------------------------------------------------- カラム名の変更などはできるのですが どうしても削除だけ出来ません。 なお、このカラムは主キーとしての設定や 他のテーブルへの外部キーとしての設定を行っていません。 型は[varchar] (20) COLLATE Japanese_BIN NULLです。 どなたか対処方法をご存知の方がおられましたら ご回答よろしくお願いします。 それでは失礼します

  • MySQLで、テーブル内のフィールドの名前を変えたいのですが・・・

    MySQL4.0.20 Linuxを使っています。 テーブル内のフィールドの名前を変えたいのですが、alter table の modifyはカラムの属性を変えるもので、名前を変えるのは運用途中でできるのかなと、ふと疑問に思いました。 alter tableなどでできるのでしょうか? 結局サーバーを止めて、バックアップし、テーブル定義を書き直して、リストアするしか無いのでしょうか?

    • ベストアンサー
    • MySQL
  • MySQLで先頭にカラムを追加

    宜しくお願いします。 MySQLで新たにカラムを追加する場合、 alter table テーブル名 add column 新カラム名 after 既存のカラム名; という形で追加すると思うのですが、これだと『after 既存のカラム名』となるので、そのカラムの次に入ってしまうと思います。なので、これだとどうしても2番目に来てしまいます。新たに1番目にカラムを追加する事は出来ないのでしょうか?

    • ベストアンサー
    • MySQL
  • ALTER TABLEで複数のカラムを消す

    ALTER TABLEでなくてもいいんですが ALTER TABLE KOJINTABLE DROP COLUMN(T_VAL, MEMO); これができませんでした。 T_VALとMEMOを同時に消す書式はありませんか?

  • カラム名を変更するには

    アクセスでカラム名を変えるようなコマンドを知りたくて 今回質問させていただきました。 自分で途中まで考えたのですが ALTER TABLE テーブル名 ALTER カラム名 これ自体もあっているのかわかりませんが・・・ どなたかご存知でしたら教えていただけないでしょうか 宜しくお願いします。

  • カラムの存在チェック

    あるテーブルに、あるカラム(列)が存在するかどうかを調べる方法はあるのでしょうか? ・あるテーブル(TABLE_A)に、あるカラム(COLUMN_A)が存在しない場合はALTER TABLE ~ ADD でカラム(COLUMN_A)を追加する ・COLUMN_Aがある場合は何もしない というSQL文を作成したいのですが… 宜しくお願いします。

  • mysqlデータベースリストア

    MySQL初心者です。 基本的な質問ですが、教えてください。 MYSQLデータベースのバックアップは、コマンドラインからmysqldumpでバックアップを行うと思います。 CMD>mysqldump -u(ユーザーグループ) -p(パスワード) (データベース名) > (バックアップファイル名).sql バックアップSQLを使って再度リストアで入れなおす場合は、 drop database (データベース名);と create database (データベース名); を実行してから行う必要があるのでしょうか? (バックアップファイル名).sqlの中身を見てみると、 CREATE TABLE '(テーブル名)' (・・・・ ・・・)の前に DROP TABLE IF EXISTS '(テーブル名)'; のようにテーブルのdropをしてからの処理はあるのですが。

    • ベストアンサー
    • MySQL
  • (MySQL)全てのテーブルの照合順序を変更したい

    MySQL5.1.33-communityをWindows上のXAMPPにて使用しています。 操作端末としてphpMyAdmin3.1.3.1を使用しています。 約90個のテーブルがあり、それらの照合順序が意に反してlatin1_swedish_ciになっており、これらを全てujis_japanese_ciに変更したいと思っています。 この場合、ALTER TABLE 文で行えばいいというのはわかるのですが、 ALTER TABLE `テーブル名` CONVERT TO CHARACTER SET ujisとして1つずつテーブル名を指定しなければできないのでしょうか。 まとめて一撃で行う方法はありませんか? ALTER TABLE * CONVERT TO CHARACTER SET ujis とやってみても通りませんでした。 DROP TABLEの場合、テーブル名をコンマで区切って列挙して複数テーブルを一撃でDROPできたのですが、ALTER TABLEの方ではどうも通りませんでした。 普段はPostgreSQLを使っているのでMySQLについてははじめての経験です。詳しい方、よろしくご教示ください。

    • ベストアンサー
    • MySQL
  • NOT NULL 制約の削除

    MSSQL(SQLServer2000)にて、NOT NULLの列制約をはずすにはどうしたらよいのでしょうか。 ALTER TABLE <テーブル名> ALTER COLUMN <列名> DROP NOT NULL をやってみたのですが、構文エラーになってしまいます。 よろしくお願いします。

  • mysqlでのテーブル削除について質問します。

    総称名を使ってテーブルを削除することは可能でしょうか? drop table test060301; drop table test060302; drop table test060303; drop table test060304; ↓ drop table test*; このやり方では、うまくいきません。 よろしくお願いします。

    • ベストアンサー
    • MySQL