【发布时间】:2013-07-12 09:53:28
【问题描述】:
我有如下查询
INSERT INTO connections (`c_id`,`in`,`out`,`ip`,`userID`)
VALUES (
(
SELECT c_id
FROM connections
WHERE (a bunch of conditions)
ORDER BY c_id DESC LIMIT 1
),
'1373799802',
0,
INET_ATON('127.0.0.1'),
4
)
ON DUPLICATE KEY UPDATE `out` = 1
这会引发以下错误
1093 - 您不能在 FROM 子句中指定目标表“连接”进行更新
显然我不能在insert into on duplicate update 语法中使用 SELECT 子句,但我真的更愿意这样做,而不是运行 2 个查询。谁能告诉我该怎么做?
【问题讨论】:
-
@prix 我看不出这如何适用于我的问题,我只有一张桌子
-
您不需要 2 个表,但是您的查询是错误的,您可以从示例中看到是什么。
标签: mysql select on-duplicate-key