黑马程序员技术交流社区

标题: 数据库备份问题 [打印本页]

作者: 侯林林    时间: 2012-10-18 15:01
标题: 数据库备份问题
现有A,B,C三表,C为A,B两表的子表放有A_ID,B_ID
其中三张表都入有年份,如果想要将三表12年的数据备份13年(说白了就是把年份=12的修改下年份,再次添加),如果操作呢
要考虑id ,A_ID,B_ID的问题,有知道的麻烦给讲下思路吧,谢谢
作者: 刘伟平    时间: 2012-10-18 15:37
什么数据库?是用网页操作,软件操作还是仅能用SQL语句?
作者: 侯林林    时间: 2012-10-18 17:20
是sql语句与java实现,用 的数据库应该没关系吧,只是sql与方法的问题,sql语句也都是通用的啊
作者: 刘伟平    时间: 2012-10-18 18:21
侯林林 发表于 2012-10-18 17:20
是sql语句与java实现,用 的数据库应该没关系吧,只是sql与方法的问题,sql语句也都是通用的啊 ...

可以使用insert into tablename (列1, 列2,...) select 列1, 列2,... from tablename where 列1=值1

select 后可以跟修改后的值,也可以是列名,也可以是两者混合。

你可以测试一下看看,我也没测试过。
作者: 杨志男    时间: 2012-10-18 22:50
你是想单纯改表的话,直接使用在数据库里编写sql语句的update就可以了啊
如果是想通过java程序来改的话,就有些麻烦了,与数据库建立连接,要先根据id用sql的update语句进行修改,而且要修改三次,然后再查询一遍三个表是否修改成功
作者: 侯林林    时间: 2012-10-19 10:13
不是那个意思啊,只是想重新备份一遍该年的数据问,把去年的备份到本年,我的思路上要先查出来子表来,然后新增子表,然后查出AB表,再新增AB表,用新的ID去update年份等于今年的,并且id等于旧id的ID,不过JAVA实现上貌似不太好实现要用到递归,加for循环,而且还会有问题,所以想看看还有别的办法吗
作者: 舒远    时间: 2012-10-19 10:23
我觉得只需要考虑a,b的update操作,将A,B表的12年的数据查出来插入对应的表中,然后时间写成13年的,然后使用update触发器更新C表。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2