Я сделал много исследований по этому вопросу и пришел к следующему:вставки на дубликат ключа обновления, если
INSERT INTO actives
SELECT email, active_date
FROM actives_ac
ON DUPLICATE KEY UPDATE active_date = IF (
active_date < VALUES(active_date), VALUES(active_date), active_date
);
что приводит, SQL Error (1136): Column count doesn't match value count at row 1
.
email
Поле VARCHAR(255)
является как KEY
, так и UNIQUE
в обеих таблицах. active_date
является полем DATE
.
Я пытаюсь вставить запись, если она новая в таблице активов, или обновить запись, если значение в actives_ac.active_date
новее, чем значение, уже имеющееся в actives.active_date
.
Это говорит о том, что количество колонок не совпадает между таблицами, которые вы используете. Покажите нам свою структуру db. – DiMono
Сколько полей имеет 'актив'? –