如何避免将相同的数据插入数据库

时间:2014-02-13 07:50:13

标签: c# mysql sql database

有一个数据库名称为email_book,在该数据库中有一个名为contact_book的表。namemail_id是我创建的两个列在那张桌子里。

现在我想使用C#中的表单将数据添加到我的表中,但在计数器部分我只是想避免将重复的数据插入到表中。当用户添加表中已存在的相同mail_id时,它必须提供以下消息:

  

此mail_address已存在于数据库

所以我需要用C#编码。

1 个答案:

答案 0 :(得分:0)

欢迎使用stackoverflow。正如其他人所说,你应该先自己尝试一下。这也会给你带来信心。

无论如何,我不知道mysql语法,所以我将提供sql server伪代码。

我假设您正在使用存储过程插入数据。所以在存储过程中检查mail_id的记录是否存在,如果是,则返回自定义消息,否则插入记录并返回“记录插入成功”。例如

CREATE PROCEDURE your_Proc
(
     @mail_id nvarchar(255),
     ... //other parameters here
)
AS
BEGIN
      IF EXISTS(SELECT 0 FROM contact_book WHERE LOWER(mail_id) = LOWER(@mail_id))
      BEGIN
          SELECT "mail id exist"
      END
      ELSE
      BEGIN
          INSERT INTO contact_book ....
          SELECT "record inserted successfully"
      END
END

在sql server中,你也可以使用out参数而不是select来返回消息但不确定mysql。

希望这有帮助。