我正在尝试更新一个与另一个表相连的表,以更新正确的记录。到目前为止,这是我的命令:
UPDATE
links l
SET
l.l_id = `[value-1]`,
l.l_facebook = `[value-2]`,
l.l_youtube = `[value-3]`,
l.l_twitter = `[value-4]`,
l.l_googleplus = `[value-5]`,
l.l_rss = `[value-6]`,
l.l_homepage = `[value-7]`,
l.l_freigegeben = `[value-8]`
JOIN
sponsering ON l.l_id = sponsering.links_l_id
WHERE
sponsering.s_userID = 2尝试在phpmyadmin中运行该命令会给出以下错误消息:
1064 -您的SQL语法有一个错误;请检查与您的MariaDB服务器版本对应的手册,以获得正确的语法,以便使用“l.l_id = sponsering.links_l_id上的连接查询”。 sponsering.s_user‘在第12行
我需要加入表sponsering,因为这给了我链接表中正确的记录。我怎么才能解决这个问题?
发布于 2015-10-24 22:59:44
尝尝这个
UPDATE
links l,
sponsering s
SET
l.l_faceook = `[value-2]`,
l.l_youtube = `[value-3]`,
l.l_twitter = `[value-4]`,
l.l_googleplus = `[value-5]`,
l.l_rss = `[value-6]`,
l.l_homepage = `[value-7]`,
l.l_freigegeben = `[value-8]`
WHERE
l.l_id = s.links_l_id AND
sponsering.s_userID = 2发布于 2015-10-24 23:02:04
在MySQL中,join是update语句本身的一部分。没有单独的from
UPDATE links l JOIN
sponsering s
ON l.l_id = s.links_l_id
SET
l.l_id = `[value-1]`,
l.l_faceook = `[value-2]`,
l.l_youtube = `[value-3]`,
l.l_twitter = `[value-4]`,
l.l_googleplus = `[value-5]`,
l.l_rss = `[value-6]`,
l.l_homepage = `[value-7]`,
l.l_freigegeben = `[value-8]`
WHERE s.s_userID = 2;其他一些数据库也出于同样的目的使用FROM子句。
https://stackoverflow.com/questions/33324226
复制相似问题