INSERT INTO counters (REQUEST_ID, MODIFIED_DATE_WFM)
SELECT
si_id, MAX(modified_date) AS field
FROM tt
group by si_id
ON DUPLICATE KEY UPDATE
MODIFIED_DATE_WFM = VALUES(modified_date)
ERROR SQL (1054): Unknown column 'MODIFIED_DATE' in 'Feldliste'MAX() vs ON DUPLICATE KEY UPDATE
i`m Verwendung sub-Abfragen versucht:
select * from (SELECT
si_id, MAX(modified_date) AS field
FROM tt
group by si_id) sub1
und Alias:
ON DUPLICATE KEY UPDATE
MODIFIED_DATE_WFM = VALUES(field)
Aber wählen:
SELECT
si_id, MAX(modified_date) AS field
FROM tt
group by si_id
ist Arbeit
für den Test: FITS TABELLE:
CREATE TABLE `counters` (
`REQUEST_ID` BIGINT(20) NULL DEFAULT NULL,
`MODIFIED_DATE_WFM` INT(11) NULL DEFAULT NULL,
UNIQUE INDEX `REQUEST_ID` (`REQUEST_ID`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
zweite Tabelle:
CREATE TABLE `tt` (
`si_id` BIGINT(20) NOT NULL,
`modified_date` INT(11) NOT NULL,
INDEX `si_id` (`si_id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
DATA:
INSERT INTO `tt` VALUES (2574604, 1486086672);
INSERT INTO `tt` VALUES (2574604, 1487116221);
INSERT INTO `tt` VALUES (2574604, 1487971423);
INSERT INTO `tt` VALUES (2574604, 1488136028);
INSERT INTO `tt` VALUES (2574604, 1488136324);
INSERT INTO `tt` VALUES (2574604, 1488524248);
INSERT INTO `tt` VALUES (2574604, 1488728989);
INSERT INTO `tt` VALUES (2834403, 1488782168);
Serverversion: 5.7.16 MySQL Community Server (GPL)
So 'counters' Tabelle, die die' MODIFIED_DATE' Spalte nicht haben. Genau das berichtet der Fehler. Übrigens, es hat auch nicht die ID-Spalte. – zerkms
'INSERT INTO-Zähler (REQUEST_ID, MODIFIED_DATE_WFM) ...' & c. – bishop
@baao es wäre ein "Tippfehler", wenn sie 'MODIFIED_DATE_WFN' eingeben würden – zerkms