关闭。这个问题需要更加突出重点。它目前不接受答案。**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。改进这个问题我有一个主键为user\u id的表。这个user\u id是一个长度为6的随机字母数字字符串。如何编写php代码在这个表中插入记录,而不通过比较表中的所有用户id来检查用户id的唯一性?
lzfw57am1#
只需尝试插入一条新记录,然后检查尝试是否成功。如果该值不唯一,则插入将失败,因为该列被定义为主键(因此必须是唯一的)。如果插入成功,则说明该值是唯一的。即使您对pkey使用了自动递增,您仍然需要通过尝试在带有 UNIQUE 约束。
UNIQUE
wko9yo5t2#
这对于主键来说还不够好,因为随机生成的字符串可能会出现两次,从而导致一些问题。改变数据库结构,改用自动增量。但是如果你有充分的理由继续你的想法,可以使用“insert ignore…”,但是如果存在的话,它会跳过记录。
2条答案
按热度按时间lzfw57am1#
只需尝试插入一条新记录,然后检查尝试是否成功。如果该值不唯一,则插入将失败,因为该列被定义为主键(因此必须是唯一的)。如果插入成功,则说明该值是唯一的。
即使您对pkey使用了自动递增,您仍然需要通过尝试在带有
UNIQUE
约束。wko9yo5t2#
这对于主键来说还不够好,因为随机生成的字符串可能会出现两次,从而导致一些问题。改变数据库结构,改用自动增量。但是如果你有充分的理由继续你的想法,可以使用“insert ignore…”,但是如果存在的话,它会跳过记录。