MySQL 查询无效,INNER JOIN 附近有语法错误
MySQL query not working, syntax error near INNER JOIN
几年没做任何编程,所以又有点生疏了。
我有两个 tables users
table 和 users_profiles
table。我想更新 users_profiles
table,条件是 user_uid
在 table(users.user_uid
和 users_profiles.user_uid
)和 [=19] 上都匹配=] 和 users.user_uid = '11'
。
它将在 php 脚本中执行,因此 johndoe 实际上是用户的用户名(存储在会话中的任何内容,users_uid 也是如此)。为简单起见,我添加了虚拟数据。
我 运行 在 phpmyadmin 中查询并在 INNER JOIN 附近出现语法错误。我只是不知道我做错了什么(可能完全写错了)并且花了几个小时试图解决它但没有成功。
这是我的 sql 查询。
UPDATE
users_profiles
SET
users_profiles.user_fname = 'John',
users_profiles.user_lname = 'Doe',
users_profiles.user_gender = 'male'
INNER JOIN
users
ON
users.user_uid = users_profiles.user_uid
WHERE
users.user_login = 'johndoe'
AND
users.user_uid = '11'
通过 phpmyadmin.运行ning sql 查询时出现错误。
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'ON users.user_uid, .user_uid FROM users_profiles WHERE
users.user_login ' at line 7
谢谢。
尝试交换 SET
和 INNER JOIN
,例如 this SO answer:
UPDATE
users_profiles p
INNER JOIN
users u
ON
u.user_uid = p.user_uid
SET
p.user_fname = 'John',
p.user_lname = 'Doe',
p.user_gender = 'male'
WHERE
u.user_login = 'johndoe'
AND
u.user_uid = 11
试试这个:
UPDATE
users_profiles
INNER JOIN
users
ON
users.user_uid = users_profiles.user_uid
SET
users_profiles.user_fname = 'John',
users_profiles.user_lname = 'Doe',
users_profiles.user_gender = 'male'
WHERE
users.user_login = 'johndoe'
AND
users.user_uid = '11'
几年没做任何编程,所以又有点生疏了。
我有两个 tables users
table 和 users_profiles
table。我想更新 users_profiles
table,条件是 user_uid
在 table(users.user_uid
和 users_profiles.user_uid
)和 [=19] 上都匹配=] 和 users.user_uid = '11'
。
它将在 php 脚本中执行,因此 johndoe 实际上是用户的用户名(存储在会话中的任何内容,users_uid 也是如此)。为简单起见,我添加了虚拟数据。
我 运行 在 phpmyadmin 中查询并在 INNER JOIN 附近出现语法错误。我只是不知道我做错了什么(可能完全写错了)并且花了几个小时试图解决它但没有成功。
这是我的 sql 查询。
UPDATE
users_profiles
SET
users_profiles.user_fname = 'John',
users_profiles.user_lname = 'Doe',
users_profiles.user_gender = 'male'
INNER JOIN
users
ON
users.user_uid = users_profiles.user_uid
WHERE
users.user_login = 'johndoe'
AND
users.user_uid = '11'
通过 phpmyadmin.运行ning sql 查询时出现错误。
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near 'ON users.user_uid, .user_uid FROM users_profiles WHERE
users.user_login ' at line 7
谢谢。
尝试交换 SET
和 INNER JOIN
,例如 this SO answer:
UPDATE
users_profiles p
INNER JOIN
users u
ON
u.user_uid = p.user_uid
SET
p.user_fname = 'John',
p.user_lname = 'Doe',
p.user_gender = 'male'
WHERE
u.user_login = 'johndoe'
AND
u.user_uid = 11
试试这个:
UPDATE
users_profiles
INNER JOIN
users
ON
users.user_uid = users_profiles.user_uid
SET
users_profiles.user_fname = 'John',
users_profiles.user_lname = 'Doe',
users_profiles.user_gender = 'male'
WHERE
users.user_login = 'johndoe'
AND
users.user_uid = '11'