【问题标题】:Checking for existing record in the SQL database检查 SQL 数据库中的现有记录
【发布时间】:2015-09-23 20:51:29
【问题描述】:

我用 JAVA 和 SQL 制作了一个汽车租赁管理系统。数据库工作正常,没有问题。我一直在检查数据库中是否已经存在数据?就像如果一个人输入 355353553 的 NIC .. 它不应该再次输入.. 关于我应该做什么的任何建议?感谢您的帮助!

【问题讨论】:

  • 您可以将 NIC 设置为 dbms 中的唯一键。
  • 是的,就是这样......但我需要它来显示错误消息......你能帮忙吗?
  • 如果没有,则尝试选择一个人,返回错误,否则做某事
  • 您可以尝试只运行INSERT语句并捕获异常进行检查(假设SQL正确)
  • 是的,我可以试试!谢谢你的建议。我会告诉你这是否有效!

标签: java sql record exists


【解决方案1】:

你可以在mysql中设置唯一列:

CREATE TABLE Cars
(
car_id int NOT NULL,
NIC int NOT NULL,
...
...
....
UNIQUE (car_id, NIC)

)

更多信息,请看这里:Unique - sql syntax

【讨论】:

    【解决方案2】:

    由于您已经将数据库设置为唯一,听起来您只需要一种在这种情况下处理错误的方法。我个人会使用这样的东西,但我敢打赌会有更有效的解决方案。

    创建一个方法来获取查询结果的计数。在我的示例中,我只是将其称为 countMethod。让它从查询中返回行数。如果您想避免使用 java 代码,您也可以使用 MySQL 中的 COUNT(*)。如果您决定尝试实施,这里有一些 sudo 代码可以帮助您入门。

    int total = countMethod("SELECT id FROM the_table WHERE id=" + inputID);
    if(total > 0) {
        //Throw a warning message, it already exists
    } else {
        //Insert it into the database
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多