高级MYSQL查询不起作用 [英] Advanced MYSQL query dont work
问题描述
我正在尝试运行如下所示的查询:
I'm trying to run a query that looks like this:
$DB->query("INSERT INTO table (
SELECT s.value1, s.value2, s.value3, t.value1, u.value1, u.value2, u.value3, u.value4
FROM aTable AS s
LEFT JOIN aTable2 AS u ON u.uID = s.uid
WHERE u.spent < ". $needed ."
GROUP BY s.uid, s.fid )
ON DUPLICATE KEY UPDATE
value1 = VALUES(u.value1),
value2 = VALUES(u.value2),
value3 = VALUES(u.value3),
value4 = VALUES(u.value4);
");
然而这会返回错误:
'字段列表'中的未知列'u.value1'
请注意,这是我第一次在这个级别使用MySQL,所以我不知道DUPLICATE KEY UPDATE函数是如何工作的......
我打算对表做什么就像一个缓存,因为信息来自某些人非常大的表
However this returns the error:
Unknown column 'u.value1' in 'field list'
Please note that this is the first time I'm working with MySQL at this level, so I have no idea how the DUPLICATE KEY UPDATE function works...
What i intent to do with the table is like a cache, because the infromation is fetched from some very large table
推荐答案
DB-> query(INSERT INTO table(
SELECT s.value1,s.value2,s.value3,t.value1,u.value1,u.value2,u .value3,u.value4
FROM aTable AS s
LEFT JOIN aTable2 AS u ON u.uID = s.uid
WHERE u.spent<需要。
DB->query("INSERT INTO table ( SELECT s.value1, s.value2, s.value3, t.value1, u.value1, u.value2, u.value3, u.value4 FROM aTable AS s LEFT JOIN aTable2 AS u ON u.uID = s.uid WHERE u.spent < ".
。
GROUP BY s.uid,s.fid)
ON DUPLICATE KEY UPDATE
value1 = VALUES(u.value1),
value2 = VALUES(u.value2),
value3 = VALUES(u.value3),
value4 = VALUES(u.value4);
);
needed ." GROUP BY s.uid, s.fid ) ON DUPLICATE KEY UPDATE value1 = VALUES(u.value1), value2 = VALUES(u.value2), value3 = VALUES(u.value3), value4 = VALUES(u.value4); ");
然而这会返回错误:
'字段列表'中的未知列'u.value1'
请注意,这是我第一次在这个级别使用MySQL,所以我不知道DUPLICATE KEY UPDATE函数是如何工作的......
我打算用表做的事就像一个缓存,因为信息来自某些非常的大表
However this returns the error:
Unknown column 'u.value1' in 'field list'
Please note that this is the first time I'm working with MySQL at this level, so I have no idea how the DUPLICATE KEY UPDATE function works...
What i intent to do with the table is like a cache, because the infromation is fetched from some very large table
这篇关于高级MYSQL查询不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!