Tôi có một truy vấn như sauMySQL INSERT trên CẬP NHẬT khóa trùng lặp với SELECT
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
nào ném được lỗi sau
1093 - Bạn không thể chỉ 'kết nối' mục tiêu bảng để cập nhật trong mệnh đề FROM
Rõ ràng là tôi không thể có mệnh đề SELECT trong cú pháp insert into on duplicate update
, nhưng tôi thực sự muốn thực hiện điều đó thay vì có 2 truy vấn đang chạy. Bất cứ ai có thể cho tôi biết làm thế nào tôi có thể làm điều này?
bản sao có thể có của [** Cách INSERT INTO ... CHỌN với KEY DUPLICATE KEY **] (http://stackoverflow.com/a/14701250/342740) – Prix
@prix Tôi không thấy cách này có thể áp dụng cho vấn đề của tôi, tôi chỉ có 1 bảng –
Bạn không cần 2 bảng, tuy nhiên truy vấn của bạn là sai và bạn có thể thấy từ ví dụ đó là gì. – Prix