Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tạo tên bảng động từ năm hiện tại trong MySQL như 2019


Để tạo tên bảng theo năm (ví dụ 2019), chúng ta sử dụng câu lệnh PREPARE. Trước tiên, hãy tạo một bảng mẫu:

mysql> create table DemoTable1959 ( UserName varchar(20) ); Query OK, 0 rows affected (0.00 sec)

Thêm một số bản ghi vào bảng bằng lệnh INSERT:

mysql> insert into DemoTable1959 values('Chris'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1959 values('David'); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1959 values('Bob'); Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> select * from DemoTable1959;

Kết quả sẽ như sau:

+----------+
| UserName |
+----------+
| Chris    |
| David    |
| Bob      |
+----------+
3 rows in set (0.00 sec)

Dưới đây là truy vấn để tạo tên bảng động từ năm hiện tại:

mysql> set @dynamicQuery = CONCAT('create table `', date_format(curdate(),'%Y'), '` as select UserName from DemoTable1959'); Query OK, 0 rows affected (0.00 sec)
mysql> prepare st from @dynamicQuery; Query OK, 0 rows affected (0.00 sec) Statement prepared
mysql> execute st; Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0

Hiển thị bản ghi từ bảng vừa tạo (giả sử năm hiện tại là 2019):

mysql> select * from `2019`;

Kết quả:

+----------+
| UserName |
+----------+
| Chris    |
| David    |
| Bob      |
+----------+
3 rows in set (0.00 sec)