【发布时间】:2012-12-12 12:46:24
【问题描述】:
如何检查表中的字段是否设置为UNIQUE?
例如,我有一个名为users 的表,其中一个字段email 设置为UNIQUE,而一个字段picture 未设置为UNIQUE,我想在选择之前检查该字段是否设置为@ 987654326@ 如果没有,请不要使用SELECT。
我尝试SELECT然后计算返回的行数,如果超过1则不是UNIQUE,
"SELECT * FROM table WHERE email='$email'"
//...some mysql php line later
if($count > 1){
//return nothing
}
但是效率不高,如果没有重复呢。
在PHP 中检查字段是否设置为UNIQUE 的最佳方法是什么?
编辑:没有重复并不意味着它有UNIQUE 属性
【问题讨论】:
-
您也可以通过
phpmyadmin查看 -
你的代码应该已经知道一个字段是否有唯一的约束;其他任何事情都只是对您自己的应用程序进行逆向工程。
-
基本上我有一个搜索功能,结果应该是唯一的(有点像蛞蝓),比如
username=bobemail=boby@dgf.fg,但如果用户名不是唯一的,那么用户就不能做按用户名搜索,我会抛出一个错误。
标签: php mysql indexing unique-index