检查是更新mysql时插入的值

时间:2013-11-19 12:03:07

标签: php mysql mysqli

我想检查更新字段时在此字段中插入的值是否相同。

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 。 所以当我更新字段时,如何检查另一行的相同值。是否可以在单个查询中使用?。

2 个答案:

答案 0 :(得分:0)

在你的位置,我会尝试两个aprroaches,首先是PHP,第二个直接在你的数据库上。

第1步:在您的PHP代码中,您可以尝试获取如下查询:“SELECT id FROM table WHERE region_manager_id ='rm1';”,如果此查询将返回NULL,则您的region_manager_id尚未使用在你桌子的另一行。

第二:您可以使用foreign keysunique key statement,使用此解决方案,如果您尝试使用已存在的region_magnager_id键更改表,则数据库将引发错误。

我希望这会有所帮助。 : - )

答案 1 :(得分:0)

在region_manager_id上使用唯一键,您可以通过错误代码检查重复的ID。当mysql错误代码1062时,它意味着重复输入。

if(mysqli_errno($Conn)==1062){
   error =  "duplicate entry error message";
}