質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

解決済

1回答

3343閲覧

ストアドプロシージャの書き方

takagi.1994

総合スコア47

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

1クリップ

投稿2016/06/04 03:15

ストアドプロシージャにてテーブルのバックアップを行いたいのですが、その際にテーブル名に実行日時のマイナス1日を指定したいのですが、どのようにしたら良いのかわかりません。検索して調べようとしたのですが、検索の仕方が悪くてうまく検索できませんでした。
どうかよろしくお願いします。

CREATE DEFINER=root@% PROCEDURE backup()
BEGIN
CREATE TABLE hoge_20160603 LIKE hoge;
INSERT INTO hoge_20160603 SELECT * FROM hoge WHERE date < '2016-06-04 00:00:00'
END

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

sql

1CREATE TABLE hoge_20160603 LIKE hoge; 2INSERT INTO hoge_20160603 SELECT * FROM hoge WHERE date < '2016-06-04 00:00:00'

sql

1SET @table_name = CONCAT('hoge_', DATE_FORMAT(SUBDATE(CURDATE(), 1), '%Y%m%d')); 2 3SET @query = CONCAT('CREATE TABLE ', @table_name, ' LIKE hoge'); 4PREPARE stmt FROM @query; 5EXECUTE stmt; 6DEALLOCATE PREPARE stmt; 7 8SET @query = CONCAT('INSERT INTO ', @table_name, " SELECT * FROM hoge WHERE date < '2016-06-04 00:00:00'"); 9PREPARE stmt FROM @query; 10EXECUTE stmt; 11DEALLOCATE PREPARE stmt; 12

に置き換えてみてください。

MySQL5.5で動作確認しています。

投稿2016/06/04 06:13

編集2016/06/04 06:29
KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takagi.1994

2016/06/05 03:21

ありがとうございました。 非常に参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問