我正在制作C# MySQL
注册系统,我已经连接了一个登录系统。
当我向数据库注册一个新用户,并尝试输入已经在数据库中的用户名时,它不起作用(当然)。我有这个命令:
String query = "SELECT password FROM accounts WHERE username = @username";
我还有一个系统(在同一个项目中)将项目注册到数据库中。
但是我希望它能让你再次添加第一个和第二个值。
所以举个例子:
我的数据库中有一项,value1是“1234”,值2是“4321”。
但是当我添加另一个时,我想要它(如果输入相同的数据),“4321”已经在数据库中。或者“1234”已经在数据库中。
所以不只是其中一个像我的登录系统。
谢谢:D
答案 0 :(得分:0)
为什么不像用户注册一样?
SELECT COUNT(*) FROM values WHERE value1 = @value1 AND value2 = @value2
或者如果您需要每个单独的值都是唯一的:
SELECT COUNT(*) FROM values WHERE value1 = @value1 OR value2 = @value2
如果返回一个数字,那么您就知道该值已经存在,因此请向他们显示错误并且不要执行INSERT
。
正如无限制所说,最好的办法是创建列UNIQUE
,然后在执行INSERT
时处理向您抛出的错误。