我有一個MySQL表正是如此定義:確保表格只包含唯一值的某些字段
CREATE TABLE Data (
ID BIGINT(20) NOT NULL AUTO_INCREMENT,
Unique_Hash BINARY(16) NOT NULL,
Size BIGINT(20) NOT NULL,
DateAdded DATETIME NOT NULL,
PRIMARY KEY (ID),
INDEX (Unique_Hash)
);
我希望填充此表1000的記錄,但Unique_Hash /尺寸對不應該在被添加另一個記錄。相反,我想確保如果任何匹配現有Unique_Hash/Size值的新記錄被忽略。這是DateAdded字段,它打破了我的ON DUPLICATE IGNORE參數。
如何安全地將數據導入到此表中,以確保我的記錄相對於我的Unique_Hash和Size字段是唯一的?
不,這樣不僅可以防止重複項按照您在問題中的定義進行添加,因爲您只將unique_hash字段定義爲唯一索引,而在問題中您將unique_hash和size的組合作爲唯一性的要求進行了描述。你的回答與你自己的問題不一致。 – Shadow