A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 侯林林 初级黑马   /  2012-10-18 15:01  /  1489 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

现有A,B,C三表,C为A,B两表的子表放有A_ID,B_ID
其中三张表都入有年份,如果想要将三表12年的数据备份13年(说白了就是把年份=12的修改下年份,再次添加),如果操作呢
要考虑id ,A_ID,B_ID的问题,有知道的麻烦给讲下思路吧,谢谢

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

7 个回复

倒序浏览
什么数据库?是用网页操作,软件操作还是仅能用SQL语句?
回复 使用道具 举报
是sql语句与java实现,用 的数据库应该没关系吧,只是sql与方法的问题,sql语句也都是通用的啊
回复 使用道具 举报
侯林林 发表于 2012-10-18 17:20
是sql语句与java实现,用 的数据库应该没关系吧,只是sql与方法的问题,sql语句也都是通用的啊 ...

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

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

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