MySQLにて、テーブル(post)のバックアップテーブル

Writer: admin Type: 友人関係の悩み Date: 2019-03-06 00:00
MySQLにて、テーブル(post)のバックアップテーブル(post_bk)を作成した後に、postの中身を更新します。postに何か間違いがあった時にバックアップ(post_bk)から戻します。その場合の手順は以下のSQLであってますか?また、RENAMEの最中に、気を付ける点や、どのような不具合が想定されるか、他にもっとよい方法があるか等ご教授くださると嬉しいです。バックアップの作成。CREATE TABLE post_bk LIKE post;INSERT INTO post_bk SELECT * FROM post;戻す場合RENAME TABLE post TO post_mistake;RENAME TABLE post_bk TO post;共感した0###MySQL 8.0、MariaDB 10.2で試したところではテーブルpostに外部キーの定義があった場合> CREATE TABLE post_bk LIKE post;ではpost_bkはその外部キー定義は引き継がれません。> postの中身を更新するだけならcreate table post_bk as select * from post;で項目定義とデータのみバックアップしてなにかあったらcreate table post_mistake as select * from post;truncate table post;insert into post select * from post_bk;とするのはどうでしょう。mysqldumpをテーブル指定で実行して戻すというのもありますが。ナイス0
###いけました!ありがとうございます!

 

TAG