有个表 aid time parameter1 parameter2
1 2009-07-02 1 aa
2 2009-07-02 2 bb
3 2009-06-02 12 cc
4 2009-05-01 32 aabb复制一个结构与a 相同的 表 b 第一个问题
如何写一个语句能把 a里 某个时间比如6月份之前包括6月的数据记录 移动到 b表里(称之为归档)。 移动之后 b里面 应该 有记录3 4 a里面有记录1 2 。
第二个问题
执行一个查询 把 表a 和表 b的数据都查询出来, 就像 所有的数据仍然保存在表b 里面一样呢 。第三个问题
php 有没有办法实现一定的时间间隔能够自动执行 上面说的归档呢 ? 或者 mysql 本身能不能实现呢 ?
1 2009-07-02 1 aa
2 2009-07-02 2 bb
3 2009-06-02 12 cc
4 2009-05-01 32 aabb复制一个结构与a 相同的 表 b 第一个问题
如何写一个语句能把 a里 某个时间比如6月份之前包括6月的数据记录 移动到 b表里(称之为归档)。 移动之后 b里面 应该 有记录3 4 a里面有记录1 2 。
第二个问题
执行一个查询 把 表a 和表 b的数据都查询出来, 就像 所有的数据仍然保存在表b 里面一样呢 。第三个问题
php 有没有办法实现一定的时间间隔能够自动执行 上面说的归档呢 ? 或者 mysql 本身能不能实现呢 ?
解决方案 »
- 怎么将BD2中导出的表导入MySQL
- 如何采用mysql实现oracle的decode()函数的来解决一个查询问题??急!急!
- c#访问msyql,release下出现Unable to load DLL 'coredll',debug 正常运行
- HTTP Status 500 - could not execute query
- 请问这种查询如何实现 ?
- 如何更高效的写出这条SQL语句
- MySQL 如何给用户账号开放 修改自己密码的权限?
- 我mysql数据库里的内容以前是在gb2312编码下插入的,我现在想把它改为utf-8编码,有没有简单的办法可以转换呢?
- 请教:安装mysql图形界面的问题
- 请问一个服务器可以最多可以建多少个mysql数据库?在线等待!!
- 请教一个SQL语句
- 关于mysql jdbc驱动问题
delete from a where year(time)=2009 and month(time)<=6; #对表a删除已备份的数据问题二select * from a union select * from b;问题三让高人回答。个人感觉你的备份间隔时间比较长,自动备份没必要,再说自动备份也不安全吧。顺便提一下,上面的备份应该启动一个事务,确保备份成功后再删除原表内已备份的数据。安全第一,效率第二
如何写一个语句能把 a里 某个时间比如6月份之前包括6月的数据记录 移动到 b表里(称之为归档)。 移动之后 b里面 应该 有记录3 4 a里面有记录1 2 。
只能分成两句SQL,一句无法实现。
insert into b select * from a where time<'2009-07-01';
delete from a where time<'2009-07-01';第二个问题
执行一个查询 把 表a 和表 b的数据都查询出来, 就像 所有的数据仍然保存在表b 里面一样呢 。
可以用UNION,但查询效率不高。常见的做法是使用partition table 来达到数据的分区。
select * from a
union all
select * from b
第三个问题
php 有没有办法实现一定的时间间隔能够自动执行 上面说的归档呢 ? 或者 mysql 本身能不能实现呢 ?
PHP不能,因为PHP程序是在你点击页面请求的时候才执行。如果你的页面确保每个时间间隔都有人访问,则可以在这个页面的PHH中执行一下上述的两个SQL语句。
一般归档是直接在数据库端实现。你可以
1。使用操作系统上的计划任务(WINDOWS)/CRONTAB者说(LINUX)
2。使用MYSQL5以上的(EVENT) - 不推荐
1 2009-07-02 1 aa
2 2009-07-02 2 bb
3 2009-06-02 12 cc
4 2009-05-01 32 aabb 复制一个结构与a 相同的 表 b 第一个问题
如何写一个语句能把 a里 某个时间比如6月份之前包括6月的数据记录 移动到 b表里(称之为归档)。 移动之后 b里面 应该 有记录3 4 a里面有记录1 2 。 insert into b select * from a where time<='2009-06-30';
delete from a where time<='2009-06-30';第二个问题
执行一个查询 把 表a 和表 b的数据都查询出来, 就像 所有的数据仍然保存在表b 里面一样呢 。
select * from a
union all
select * from b
第三个问题
php 有没有办法实现一定的时间间隔能够自动执行 上面说的归档呢 ? 或者 mysql 本身能不能实现呢 ?1、用mysql的even;
2、用语言编制成可执行文件,在WINDOWS计划任务中定时运行。