PostgreSQL 提供了一个很强大的造数据的函数generate_series,基于Common Table Expression。
MySQL 没有复杂的应用程序类型,该如何实现这样的功能呢? 我想到的三种方法如下:
1. 用存储过程来做。 缺点是写好多数据库不擅长的应用逻辑。
2. 我们想到MySQL提供了SESSION 变量这样的特性, 可以很方便的完成同样的功能。
3. MariaDB 提供了一种sequence 引擎,也可以方便的做这件事情。
第一种我就不实现了, 我来举例说明后两种。
表结构如下:
ytt[love]>show create table test_series;
+-------------+-------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------------+-------------------------------------------------------------------------------------------------------------------------+
| test_series | CREATE TABLE `test_series` (
`id` int(11) NOT NULL,
`log_date` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=lati