如果MySql中存在,则替换为另一列


Replace to another column if exits in MySql

我有一个HTML表,其中包含来自Mysql的值。我的HTML表看起来像这个

-------   ------   ------   ------
 type      name     b_id     Edit
-------   ------   ------   ------
Laptop     mac      E1:23    edit
Desktop    dell     D2:45    edit

我正在从输入文本框中插入类型和名称的值。以及b_id的选择下拉列表。我可以通过单击edit来编辑每一行的值,并且我有一个显示所有b_id's的下拉列表。

我需要更新b_id值,这样,如果它已经存在,用新替换,删除旧的。

假设我在桌面戴尔行上点击了编辑。我会选择E1:23(这已经映射到笔记本电脑mac)。保存后,E1:23应映射到桌面dell,之前的映射(笔记本电脑mac)应删除。我的意思是它应该是空的

我的查询

$id = $_REQUEST['id']; // Auto Increment
$b_id = $_REQUEST['b_id']; //b_id from select dropdown on edit
$sql = "SELECT * FROM table_name WHERE b_id='$b_id'";
$rs=parent::_executeQuery($sql);
$rs=parent::getAll($rs);
if($rs) // if b_id already exists
{
    //First empty old b_id which has mapped already
    $sql2 = "UPDATE table_name SET b_id='$b_id' WHERE id='$id'";
    $rs=parent::_executeQuery($sql);
}

那么如何清空之前映射的b_id。不是的类型和名称

如果你想清空b_id中的数据,你的查询应该是这样的:

if($rs) // if b_id already exists
{
    //First empty old b_id which has mapped already
    $sql2 = "UPDATE table_name SET b_id='' WHERE b_id='$b_id'";
    $rs=parent::_executeQuery($sql2);
}