Czy da się zrobić coś takiego, aby aktualizowało/ lub tworzyło nowy rekord w tabeli na podstawie danych z innej tabeli? udało mi się jedynie zrobić aktualizacje, ale czasami bywa tak że rekord nie istnieje i trzeba go utworzyć i jak ja mam zrobić ?
$UP = 'UPDATE #__forum_users_posts_in AS t
JOIN (
SELECT
userid, count(*) AS sum_total
FROM
#__forum_messages AS t2
WHERE
T2.thread = '.$topicId.' and hold = 0
GROUP BY
t2.userid
) AS t2 ON t.userid = t2.userid and (idcat = '.$cat->id.' or idcustom = '.$selectcustom1.')
SET t.posts = t.posts + t2.sum_total';
Podsumowując chodzi mi o to by przerobić powyższy kod tak aby tworzył nowy rekord jeśli nie ma takiego który mogłyy zaktualizować
Próbowałem zastosować mniej więcej coś takiego z ON DUPLICATE KEY UPDATE. Tylko, że aktualizuje rekordy gdzie zgadza się ID, a musi porównywać userid|idcat|idcustom.
INSERT INTO `table` (`columns`) VALUES
(...)
ON DUPLICATE KEY UPDATE
`column` = VALUES (`column`);