我想检查更新字段时在此字段中插入的值是否相同。
ex:这是我的表
id region region_manager_id
1 test1 rm1
2 test2 rm7
3 test3 rm9
4 test4 rm8
5 test5 rm3
现在,如果想要更新region_manager_id = rm1,其中id = 3,这不应该是因为已经为id = 1分配了 rm1 。 所以当我更新字段时,如何检查另一行的相同值。是否可以在单个查询中使用?。
答案 0 :(得分:0)
在你的位置,我会尝试两个aprroaches,首先是PHP,第二个直接在你的数据库上。
第1步:在您的PHP代码中,您可以尝试获取如下查询:“SELECT id FROM table WHERE region_manager_id ='rm1';”,如果此查询将返回NULL,则您的region_manager_id尚未使用在你桌子的另一行。第二:您可以使用foreign keys和unique key statement,使用此解决方案,如果您尝试使用已存在的region_magnager_id键更改表,则数据库将引发错误。
我希望这会有所帮助。 : - )
答案 1 :(得分:0)
在region_manager_id上使用唯一键,您可以通过错误代码检查重复的ID。当mysql错误代码1062时,它意味着重复输入。
if(mysqli_errno($Conn)==1062){
error = "duplicate entry error message";
}