所以我在一个 php 文件中有一个 sql 语句,它与从用户那里获取输入的表单相关。当他们输入一种类型时,它会更新该列中的所有记录,而不是他们选择的特定记录。
我得到的原始语句是第一个代码,但它编辑了整个列。所以我一直在尝试其他条款,所以它只改变了匹配的album_id但没有任何运气。 样本表数据
$sql = "UPDATE album
SET genre_id = (SELECT genre_id
FROM genre
WHERE genreName='" . $_POST['lstGenre'] . "'
)";
以上是我开始并继续返回的内容。 上面代码的结果改变了整个列中的流派
$sql = "UPDATE album
SET genre_id = (SELECT genre_id
FROM genre
WHERE genreName='" . $_POST['lstGenre'] . "'
)
FROM album
WHERE album_id='" . $_POST['album_id'] . "'";
那是我尝试过的一个版本,但它没有更新任何东西。这就是我要找的: 每种情况的不同类型
这工作我解决了它:
$sql = "UPDATE album
SET genre_id = (SELECT genre_id
FROM genre
WHERE genreName='" . $_POST['lstGenre'] . "'
)
FROM album
WHERE album_id='" . $thisAlbum['album_id'] . "'";