【问题标题】:How to avoid to insert same data into database [closed]如何避免将相同的数据插入数据库[关闭]
【发布时间】:2014-03-11 23:19:02
【问题描述】:

有一个数据库名称为email_book,在该数据库中有一个名为contact_book.name 的表,mail_id 是我在该表中创建的两列。

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

此邮件地址已存在于数据库中

因此,我需要用 C# 编码。

【问题讨论】:

  • 欢迎来到 Stack Overflow。我们不会为您编写代码。首先展示你的努力。如果您卡在某个地方,请回来。请阅读FAQHow to Ask

标签: c# mysql sql database


【解决方案1】:

欢迎来到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。

希望这会有所帮助。

【讨论】:

  • 谢谢您,先生.......您提供了我一直在寻找的准确代码......非常感谢先生
  • 如果有用,请标记为答案和/或投票赞成答案。 :)
猜你喜欢
  • 2017-10-11
  • 2016-03-22
  • 2012-10-06
  • 1970-01-01
  • 2012-08-21
  • 2014-08-28
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
相关资源
最近更新 更多