我需要一点帮助。。。
我正在尝试更新一个与下一个表一样连接到另一个表的表:
table1
ID_Website | descr | level
100 2
104 2
105 3
另一张桌子:
table2
ID | URL
100 www.google.es
104 www.youtube.es
105 stackoverflow.com
我试着在“描述”栏写些东西
UPDATE table1 JOIN table2
SET descr = 'something'
WHERE table1.level = '2'
AND table2.URL = 'www.google.es'
但是,它的作用是:
table1
ID_Website | descr | level
100 something 2
104 something 2
105 3
我知道问题出在“加入”上,因为这毫无意义。但我试着像在其他文章中一样写“FROM”,它返回一个语法错误。
两个表在我们创建表时直接连接,现在sql不允许我们“内部连接”它们(当我们使用SELECT时,不需要进行内部连接)。
我不知道怎么继续。。。
谢谢!
最佳答案
您缺少ON
中的JOIN
子句:
UPDATE table1
JOIN table2 ON table1.ID_Website = table2.ID
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SET descr = 'something'
WHERE table1.level = '2'
AND table2.URL = 'www.google.es'
[SQL Fiddle Demo]
关于mysql - SQL UPDATE忽略WHERE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35008958/