回答編集履歴

1

回答を修正

2016/06/04 06:29

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -1,6 +1,8 @@
1
1
  ```sql
2
2
 
3
3
  CREATE TABLE hoge_20160603 LIKE hoge;
4
+
5
+ INSERT INTO hoge_20160603 SELECT * FROM hoge WHERE date < '2016-06-04 00:00:00'
4
6
 
5
7
  ```
6
8
 
@@ -8,15 +10,29 @@
8
10
 
9
11
  ```sql
10
12
 
11
- SET @query = CONCAT('CREATE TABLE hoge_', DATE_FORMAT(SUBDATE(CURDATE(), 1), '%Y%m%d'), ' LIKE test');
13
+ SET @table_name = CONCAT('hoge_', DATE_FORMAT(SUBDATE(CURDATE(), 1), '%Y%m%d'));
12
14
 
13
15
 
16
+
17
+ SET @query = CONCAT('CREATE TABLE ', @table_name, ' LIKE hoge');
14
18
 
15
19
  PREPARE stmt FROM @query;
16
20
 
17
21
  EXECUTE stmt;
18
22
 
19
23
  DEALLOCATE PREPARE stmt;
24
+
25
+
26
+
27
+ SET @query = CONCAT('INSERT INTO ', @table_name, " SELECT * FROM hoge WHERE date < '2016-06-04 00:00:00'");
28
+
29
+ PREPARE stmt FROM @query;
30
+
31
+ EXECUTE stmt;
32
+
33
+ DEALLOCATE PREPARE stmt;
34
+
35
+
20
36
 
21
37
  ```
22
38