防止 MySQL 中的重复记录

Preventing Duplicate records in MySQL

我目前正在研究一种进化算法,该算法将尝试为给定问题找到参数的最佳配置。

我正在尝试在 MySQL table 中创建记录,它将存储一个配置,其中每个参数将表示为 table 列。如果已经尝试过配置,那么我想防止它被复制。

是否有一种机制可以在 database/ORM 级别执行此操作,或者我是否应该创建编程逻辑来防止重复条目?

Is there a mechanism to do this at the database/ORM level

是的,在创建 table 时将 Configuration 列声明或定义为 Primary KeyUnique Key 以避免重复。

我提到了 configuration 列,因为我不确定您的 table 结构,但如果它涉及多个列,那么您可以始终将其设为复合键。为什么您担心密钥查找。如果您使用适当的索引正确设计了 table,那么您就不必担心这一点。

假设您的 col1, col2, col3, col4 是配置的一部分并且您希望它们是独一无二的。然后将它们作为复合主键 saying

primary key (col1, col2, col3, col4)