如何避免在MySQL数据库中输入重复的条目?

时间:2012-03-16 17:59:25

标签: java mysql jdbc

所以,我在这里要做的是检查user mySQL数据库中的users表,查看username行中的重复条目,然后插入新的{{1}这是我的代码的一个例子。目前,结果ResultSet没有做任何事情,我不确定如何将其实现到后面的IF语句中。是的,我有username.的捕获,而不是在这个例子中。很抱歉,如果这是一个相当简单的问题,我上周刚开始用Java编程。此外,这是我在这里的第一个问题,我非常感谢你的帮助。

try

4 个答案:

答案 0 :(得分:2)

所以我认为你要做的事情 - 我认为应该选择用户名是否在表中然后添加或不添加。所以sql需要像:

从用户名=?

的用户中选择用户名

然后在查询中设置param。请参阅此处的文档: http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

然后,您需要在查询后检查结果集中的内容,并查看是否有任何内容。这方面的API文档与PreparedStatement文档大致相同。

在数据库中添加约束也会为你提供一条腰带和大括号。

希望这有帮助

答案 1 :(得分:2)

定义SQL表时,可以将某些项定义为唯一。

因此,在您的示例中,如果您希望用户名是唯一的,则可以添加:

UNIQUE(username)

到您的表格声明。

如果您希望对用户名/电子邮件是唯一的,您可以添加:

UNIQUE(username, email)

文档为here

答案 2 :(得分:1)

您是否在表格中创建了主键?主键自动防止重复值。

如果您想阻止重复的用户名,请将username列设为主键。

答案 3 :(得分:1)

嗯,我不是一个java家伙。但这可能会对你有帮助。

您可以在查询执行后检索第​​一个结果集的行计数。如果行计数等于0,则表示数据库不包含类似的记录。