尝试了多表的更新语句不知道标准SQL支持不支持的?
我在MYSQL5.0里试了一下
update a,b set b.Vlaue=a.Value where a.Name=b.Name
居然不报错也没有任何反应,query result empty作者: neil_young 时间: 2005-12-16 15:03
不好意思,我刚才数据库有点问题,
update a,b set b.Vlaue=a.Value where a.Name=b.Name
这个语句在mysql5.0下能正常运行。
另一个备份表classBak(claseID,studentID,studentName,description,year....)
claseID,studentID,studentName,description,year
1, 01, 张三,一年2班,2001
1, 02, 李四,一年2班,2001
2, 03, 王五,一年3班,2001
这classbak备份表里(studentID,studentName)的数据和需要和calss同步
我的第一个贴子只解决了update的问题,当class表里有删除或者增加,classbak里也需要相应的增加和删除(但不是实时的),通过用户的触发一次性同步,应该如何处理。作者: rardge 时间: 2005-12-16 16:47
1.先找出 class 中有而 classBak 中没有的记录
SELECT a.classID, a.studentID, a.studentName FROM class AS a LEFT JOIN classBak AS b USING (classID, studentID, studentName) WHERE b.classID IS NULL;
2.把上述记录添加到 classBak 表
INSERT INTO classBak (classID, studentID, studentName) (SELECT a.classID, a.studentID, a.studentName FROM class AS a LEFT JOIN classBak AS b USING (classID, studentID, studentName) WHERE b.classID IS NULL);
class 表删除操作就是相当于上面的反向操作,classBak 中有而 class 中没有,自己写吧
最后,再用你原来的那句 sql 来同步两个表。