关系数据库 - 您如何知道数据是否已输入表中?

时间:2012-10-05 23:12:20

标签: sql database

无法真正想到相关的标题: - (

我在C#中创建了一个注册产品销售的程序。在我的数据库中有两个表。一个名为“产品”,另一个名为“客户”。 'Product'包含CustomerId(因此我可以加入这两个表),customer表包含与客户相关的数据。

我的程序用户必须输入产品详细信息和客户详细信息。但是,如何知道客户表中是否已存在客户?我是否必须已经读出客户表中的所有记录并将其与新客户详细信息进行比较?这对我来说似乎很狡猾。

(需要知道数据是否已填写以防止重复)

2 个答案:

答案 0 :(得分:2)

对不允许重复的表施加约束,然后尝试插入数据。如果它已经存在,服务器将不允许它被插入并让你知道。

我无法解释它是如何让您知道的,因为您没有提供有关您正在使用的数据库的信息。它通常是抛出的异常。

答案 1 :(得分:-1)

您可以使用适当的where子句发出合适的select语句,以检查是否存在已匹配数据的行。

如果您的客户ID不是由数据库本身生成的(即,当您将客户详细信息输入数据库时​​,您将输入该内容,那么您可以发出以下选择语句:

SELECT * FROM Customer WHERE CustomerId = <Customer's ID>

但是,如果客户ID是由数据库生成的,那么您需要将where子句更改为要确保不重复的字段。