gpt4 book ai didi

mysql - SQL 查询语法错误,带有 INNER JOIN 的 UPDATE 语句

转载 作者:行者123 更新时间:2023-11-29 02:11:28 25 4
gpt4 key购买 nike

我的问题应该很容易解决,但我找不到我的数据库接口(interface)向我抛出的语法错误。以下代码用于更新 timetrackingtool 中现有用户的密码。

我检查了所有的表和字段名,它们都是对的。

SQL查询代码:

$query = ('UPDATE tblMitarbeiterUUID SET tblMitarbeiterUUID.dtPassword="' . $pwd . '" '.
'INNER JOIN arbeiter '.
'ON tblMitarbeiterUUID.idMitarbeiterUUID=arbeiter.fidMitarbeiterUUID ' .
'WHERE arbeiter.id=' . $userID)

此查询的回显:

UPDATE tblMitarbeiterUUID SET tblMitarbeiterUUID.dtPassword="7687225fde7aad38f4c005ad4b5cdd5a" INNER JOIN arbeiter ON tblMitarbeiterUUID.idMitarbeiterUUID=arbeiter.fidMitarbeiterUUID WHERE arbeiter.id=1

尝试直接在数据库上运行查询时出现错误:

SQL error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM tblMitarbeiterUUID INNER JOIN arbeiter ON tblMitarbeiterUUID.ifMitarbeiterUUID=arbeiter.fidMitar...' at line 1

在我的研究中,我看到一些人在带有 INNER JOINUPDATE 语句中使用 FROM。我用 FROM 尝试了它,但我得到了与上面相同的错误。

提前感谢您的帮助。最好的问候,卢卡。

正确的语法(在我得到正确答案后编辑):

'UPDATE tblMitarbeiterUUID x '.
'JOIN arbeiter y ON x.idMitarbeiterUUID = y.fidMitarbeiterUUID ' .
'SET x.dtPassword="' . $pwd . '" ' .
'WHERE y.id=' . $userID

最佳答案

这是有效的语法:

UPDATE tblMitarbeiterUUID x

JOIN arbeiter y
ON x.idMitarbeiterUUID = y.fidMitarbeiterUUID

SET x.dtPassword="A"

WHERE y.id=1

关于mysql - SQL 查询语法错误,带有 INNER JOIN 的 UPDATE 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51239626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com