0

我正在制作一个C# MySQL注册系统,并且我已经连接了一个登录系统。当我向数据库注册一个新用户并尝试输入数据库中已经存在的用户名时,它不起作用(当然)。我有这个命令:

String query = "SELECT password FROM accounts WHERE username = @username";

我还有一个系统(在同一个项目中)将项目注册到数据库中。

但是我希望它不能再次添加第一个和第二个值。

举个例子:

我在我的数据库中有一项,value1 是“1234”,value 2 是“4321”。

但是当我添加另一个时,我希望它说(如果输入相同的数据),“4321”已经在数据库中。或者“1234”已经在数据库中。

所以不只是其中一个像我的登录系统。

感谢:D

4

1 回答 1

0

为什么不为您的用户注册做同样的事情?

SELECT COUNT(*) FROM values WHERE value1 = @value1 AND value2 = @value2

或者如果您需要每个单独的值是唯一的:

SELECT COUNT(*) FROM values WHERE value1 = @value1 OR value2 = @value2

如果返回一个数字,那么您知道该值已经存在,因此向他们显示错误并且不要执行INSERT.

正如 unlimit 所说,最好的办法是创建列UNIQUE,然后处理执行INSERT.

于 2013-11-14T14:31:26.380 回答