【问题标题】:How to delete Not null constraint in Java?如何在 Java 中删除 Not null 约束?
【发布时间】:2016-09-19 13:12:34
【问题描述】:

我在 phpmyadmin 中创建了一个名为 inventory 的数据库,并在其中创建了一个名为 inventorydb 的表。

我的问题是,如何删除 not null 列。问题是我已经在 phpMyAdmin 中将其设置为 not null。这是我的编码。

("DELETE FROM inventorydb WHERE item_id= ('"+jTextField19.getText()+"') AND item_id IS NOT NULL");

我正在使用 java netbeans。我希望在字段为空白时弹出错误,顺便说一下 item_id 是我的主键。抱歉,我对这一切都很陌生。

【问题讨论】:

  • 与您的问题无关,但请使用 PreparedStatements 进行 sql 查询。构建连接字符串的 sql 查询是非常不安全的。

标签: java mysql phpmyadmin


【解决方案1】:

主键 3 属性

i) Not Null
ii) Unique
iii) auto-indexing

所以你的item_id 不能为空。 您必须定义值。那么您的查询将如下所示:

int rowsDeleted = DELETE FROM inventorydb WHERE item_id= ('"+jTextField19.getText()+"');
if (rowsDeleted > 0) {
    // give success message using JOptionPane
    System.out.println("A user was deleted successfully!");
} else {
 // give error message
}

【讨论】:

  • 我已经尝试过这种方式,但是当我在没有键入 id 的情况下按 delete 时,它​​仍然运行没有错误。
  • @HafizKhairul 你有没有把价值放在你的文本字段jTextField19。如果你给出确切的值,那么它将被删除。我不清楚你的担心。你能澄清一下吗?
  • 是的,我让删除工作正常,但我想知道的是,当用户将 jTextField19 字段留空或用未找到的值填充时如何设置错误数据库。
  • @HafizKhairul 我已经更新了我的答案。请检查一下。希望它能解决您的问题。
  • @HafizKhairul 如果出现任何问题,请告诉我。
【解决方案2】:

你可以jTextField19.getText()字符串中的值,然后对其进行空检查。

String value = jTextField19.getText();
if (value == null || "".equals(value)) {
   // Write your popup code here
}

然后您的删除查询可以进入其他部分或按照您的逻辑。

DELETE FROM inventorydb WHERE item_id= ('"+jTextField19.getText()+"');

不需要额外添加的是null检查。

【讨论】:

  • 谢谢你,这个工作正常,但是如果用户输入了一个不在数据库中的 ID 输入并且我想弹出一个错误呢?
猜你喜欢
  • 2023-03-11
  • 2015-09-25
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 2013-12-07
  • 1970-01-01
  • 1970-01-01
  • 2015-04-22
相关资源
最近更新 更多