问题描述
我想在“数据”列中的某个位置更新单个“字符串”,但前提是该表中的“电子邮件”与第二个表中的“电子邮件”相匹配,并且该行具有列字符串匹配“级别”值。
例如:
TABLE1
email data
user1@aol.com ABCDEFG
user2@aol.com ABCDEFG
TABLE2
email level
user1@aol.com 4
user2@aol.com 5
我希望能够发布一个“级别”以及一个“字符串”和一个“位置”,但是要检查表2中匹配的“电子邮件”列中的“级别”是否与“级别”匹配我发布的内容。
在我的示例中,如果level = 5,position = 3和string = Q,则命令应在TABLE2中查找所有level = 5的行,然后将表1中具有匹配电子邮件的行中的数据列更改为ABQDEFG
我可以不使用TABLE2搜索而执行此操作,而只使用电子邮件,但是我无法获取它来搜索TABLE2的匹配级别并更改TABLE1中的相应数据列。
这是我当前的代码:
$level = $_POST['level'];
$position = $_POST['position'];
$string = $_POST['string'];
$sql = "UPDATE table1 AS t1 set data = INSERT(data,?,?) WHERE EXISTS (SELECT 1
FROM table2 AS t2
WHERE t1.email = t2.email AND
t2.level = $level)";
$stmt= $pdo->prepare($sql);
$stmt->execute([$position,1,$string]);
不知道是否有人会看到这个,因为在我键入答案时问题已经关闭,但是我发现我错过了?。我打算写出整个解决方案,但我认为现在仍然没人能看到这个问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)