抱歉这个奇怪的标题,不能写得更好...
看看上面的图片。
在 mysql 中,基于 user_id 的列 UNIQUE 是否可能/可行?
让我重新表述一下,是否可以让订单列的值只对特定的 user_id 唯一?
因此,如果 user_id = 1 order = 1 并且不能有另一个 order = 1。但是如果 user_id = 2 我可以再次使用 order = 1 吗?
还是在与 mysql 接口(interface)的 php 脚本中控制它更好/更快?
最佳答案
您在问几个独立的问题。
(1) 是的,您可以仅为一个客户拥有唯一的订单。在这种情况下,您需要使用两列创建唯一索引。
(2) 在与 mysql 接口(interface)的 php 脚本中控制它是否更好/更快?第一个问题与数据完整性而非性能有关。如果它是自动递增列,生成新的 word_id 会更快,因为如果不是,您的 PHP 代码需要查询数据库以找到最大值并加一。
如果您希望每个客户都有唯一的 word_id,则需要在您的 PHP 代码中生成它们。 MySQL 无法根据另一列生成新的自增值(因为您使用的是 InnoDB)
关于mysql - 是否可以为特定列值设置 mysql 唯一索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19335910/