我有一个表,其中有一列我想插入数据但不是现有数据。
举个例子,我有一个日期栏和一个客户。同一个客户不能有两次相同的约会,所以我有一个叫 Karl 的客户,他在星期一。如果我尝试将 Karl 添加到星期一,当他在星期一已经存在时,它不应该这样做。我该怎么做呢?假设我使用 JTextFields 来输入姓名和日期。
到目前为止,我得到了这个来插入有效的数据(尽管没有检查它是否已经存在!)
s.executeQuery ("SELECT * FROM customer");
s.executeUpdate("INSERT INTO customer values ('"+name.getText()+"', '"+day.getText()+"')");
如何检查我在 name textField 和 day textField 中输入的内容是否都存在于同一行中?
提前致谢
最佳答案
试试这个
PreparedStatement s = connection.prepareStatement("SELECT * FROM customer WHERE name=? AND date=?");
s.setString(1, name.getText());
s.setString(2, day.getText());
ResultSet result = s.executeQuery ();
if(result.next()) {
// dupilcate records present. don't add
} else {
// add records to table.
s.executeUpdate("INSERT INTO customer values ('"+name.getText()+"', '"+day.getText()+"')");
}
关于java - MySQL:检查我是否想使用 JAVA 插入一个已经存在的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30257801/