在表中的两列复合上处理具有持久UNIQUE约束的重复项?

时间:2013-04-03 14:56:20

标签: php mysql redbean

我想将一些记录插入到MYSQL表中。我正在使用PHP。其中一些是重复的。我正在使用redbeanPHP orm(http://redbeanphp.com/

我的策略是使用由2列(FIELD A和DUPLICATENUMBER)组成的复合UNIQUE约束。创建每条记录时DUPLICATENUMBER = 0.

然后尝试按如下方式插入记录:

try {             
                 $id = R::store($record);
} catch (Exception $exc) {
---------------

如果尝试插入重复项,则会生成错误。然后我想将DUPLICATENUMBER增加1,然后重新插入。这一次,如果FIELD A和DUPLICATENUMBER必须相同,唯一约束必须完整,因为递增DUPLICATENUMBER应该打破唯一性。我应该发出什么MYSQL命令来设置这个组合的唯一约束?

提前致谢,

比尔

提前致谢,

1 个答案:

答案 0 :(得分:2)

您可以选择匹配FIELD A的记录数,并将其设置为DUPLICATENUMBER。