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

Replace to another column if exits in MySql

我有一个 HTML table,其值来自 Mysql。我的 HTML table 看起来像这样

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

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

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

假设我在 Desktop dell 行上点击编辑。我是 select E1:23(已经映射到 笔记本电脑 mac)。保存后,E1:23 应映射到台式机戴尔,之前的映射(笔记本电脑 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);
}