当前位置: 首页 > 面试题库 >

删除后同步两个数据库表中的数据

赵夕
2023-03-14
问题内容

这是我的学校项目。我很喜欢eForum的部分。我试图删除一个用户,被删除的用户的所有主题和回复也将被删除。

    public boolean deleteUser() {
    boolean success = false;
    DBController db = new DBController();
    db.setUp("IT Innovation Project");
    String sql = "DELETE FROM forumUsers where users_id = " + userID + "";
    if (db.updateRequest(sql) == 1)
        success = true;
    db.terminate();
    return success;
}

方法检索表的第一列的值并将其存储为userID。然后,它将执行delete sql语句以删除某些用户

    public boolean deleteThread() {
    boolean success = false;
    DBController db = new DBController();
    db.setUp("IT Innovation Project");
    String sql = "DELETE FROM forumTopics where topic_id = " + threadID
            + "";
    if (db.updateRequest(sql) == 1)
        success = true;
    db.terminate();
    return success;
}

对于此方法,它将采用另一个表的第一列的值(该表显示所有线程)并执行delete sql语句。

但是,删除一些用户后,被删除用户的线程和回复仍存储在数据库中。我目前在数据库中使用一个用户表和一个线程表。有什么办法喜欢所谓的“同步”两个表吗?是内部联接吗?

提前致谢。


问题答案:

对于使用CascadeDelete(http://support.microsoft.com/kb/304466)建立关系,这似乎是一个完美的案例。

级联更新和删除

对于强制实施引用完整性的关系,您可以指定是否要Microsoft
Access自动级联更新或级联删除相关记录。如果设置这些选项,则允许删除和更新操作,这些操作通常会被引用完整性规则阻止。当您删除记录或更改主表中的主键值时,Microsoft
Access会对相关表进行必要的更改以保留引用完整性。

在大多数情况下,我不会先删除记录,而是为删除记录打上时间戳,以备日后删除,这是人们改变思想的频率非常可观的。

级联删除



 类似资料:
  • 问题内容: 我们正在多家商店中运行带有MySql后端的Java PoS(销售点)应用程序。我想保持商店中的数据库与主机服务器上的数据库同步。 商店中发生某些更改时,应在主机服务器上对其进行更新。我该如何实现? 问题答案: 复制不是很难创建。 这里有一些很好的教程: http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-data

  • 我是JSP的新手,我正在尝试创建一个web界面,用户可以在该界面中输入他们想要删除的信息,并且该信息将在数据库表中删除。 在这里,他们应该输入和,然后应该删除具有两个指定ID的任何数据。但是,它不是从表中删除的。我有个例外 数组索引越界 下面是我的代码:

  • 我正在开发一个基于SAAS的站点,我必须将两个DBs中的两个表连接起来,比如说DB1中的table1和DB2中的table2。我必须使用cakephp中的join从表1和表2获取匹配记录,但它会抛出如下错误: 错误:SQLSTATE[42000]:语法错误或访问冲突:1142 SELECT命令拒绝用户'dbname'@'localhost'访问表'table_name'。 有谁能解释一下如何使用c

  • 本文向大家介绍MySQL删除数据库的两种方法,包括了MySQL删除数据库的两种方法的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了两种MySQL删除数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 删除数据库 使用普通用户登陆mysql服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库。 所以我们这边使用root用户登录,root用户拥有最高权限

  • 问题内容: 我正在使用SQL Server数据库,并且编写了以下查询: 查询返回的是我需要的数据,但它正在复制某些数据。当我尝试添加以消除重复的数据时… 由于此列,它不允许我使用它,此列是实际的图像数据。我收到的错误消息是: 错误:无法将图像数据类型选择为DISTINCT,因为它不可比较。错误代码:421 我试图摆脱所有重复的数据。要访问数据库,我使用RazorSQL,而远程数据库是使用SQL S

  • 我需要你帮我。我想在RecyclerView中通过SwipeToDelete删除数据库中的数据。 我已经有了一个从RecycleView中删除项目的Swipe类,我可以从该列表中删除项目,但不能从数据库中删除。 我尝试在NoteAdapater(回收器适配器)中调用数据库,并使用removeItem(int-position)方法删除所需的项,如下所示: 这是Main Active代码: 删除数据