2012-07-13 103 views
0

我有一個程序正在讀取信用卡聲明,我需要它將其插入到表中。我遇到的問題是當我只使用插入它會讓用戶一遍又一遍地插入相同的信息。然而,我真的不能將任何列設置爲唯一的,因爲在所有字段中都可能有重複。 我有的字段是DATE |說明|金額
因此,用戶可以在相同的日期在同一地點和相同的金額使用該卡。這些都是月度報表,所以除了使用獨特的密鑰插入忽略之外,還有其他的方法嗎? Brent插入沒有重複的mysql沒有唯一的密鑰

+0

是否有可能添加2個記錄瓦特/所有平等的領域? – 2012-07-13 15:11:09

+1

如果沒有邏輯上唯一的信息,則無法確定記錄是否重複。真正的CC處理系統將交易ID添加到列表中,該列表唯一地標識交易。 – dasblinkenlight 2012-07-13 15:11:49

回答

0

您必須闡明業務規則:要求某些東西必須是唯一的(單列或多列的組合)或允許相同的行。

如果相同的行是有效的,即用戶在相同的日期使用了兩次卡,在相同的地方使用相同的數量,您不能要求數據是唯一的。

如果已經存在相同的行,您可以做的是向用戶添加警告(如果數據條目是交互式的)。如果您正在進行批量導入,則如果所有(或至少一個連續塊)的交易與已有交易相同,則可以發出警告。