高级MYSQL查询不起作用 [英] Advanced MYSQL query dont work

查看:85
本文介绍了高级MYSQL查询不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试运行如下所示的查询:



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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆