Witam borykam się z pewnym problemem dodawania wpisów do jednej tabeli biorąc dane z drugiej, i trzeciej. Problemu by nie było gdyby nie to że w jednej z nich są duplikaty które niestety musza zostać, w poszukiwaniu rozwiązania trafiłem na REPLACE INTO które miało załatwić sprawę lecz nic nie pomaga. Jak w temacie nic do tabeli nie zostaje wpisane a błąd żaden się nie pokazuje oto moje zapytanie

Przy apytaniu
  1. $add = (" REPLACE INTO `TABELA3` (`id`, `id_cyfry`, `id_kod`) VALUES ('',
  2. (SELECT `id_cyfra` FROM `TABELA2` WHERE `cyfra` = '$kod'),
  3. (SELECT `id_kod` FROM `TABELA1` WHERE `kod` = '$kod') ) ");
  4. $query = mysql_query($add) OR die ("wystąpił błąd na etapie 4 - " .mysql_error() );
  5. echo "powiązanie - ". $kod ." zostało już skończone<br />";


Natomiast używając INSERT INTO wraz z ON DUPLICATE KEY UPDATE, nie usuwa duplikatów tylko podaje błąd

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near, albo nie podaje nic,

UTTAJ ORYGINALNY KOD
  1. $add = (" INSERT INTO `".pref."virtuemart_product_medias` (`id`, `virtuemart_product_id`, `virtuemart_media_id`, `ordering`) VALUES (
  2. '',
  3. (SELECT `virtuemart_product_id` FROM `".pref."virtuemart_products` WHERE `product_sku` = '$IDD'),
  4. (SELECT `virtuemart_media_id` FROM `".pref."virtuemart_medias` WHERE `file_meta` = '$IDD'),'1')
  5. ON DUPLICATE KEY UPDATE
  6. id=LAST_INSERT_ID(id),
  7.  
  8.  
  9. ");
  10.  



Gdzie popełniam błąd?


Pozdrawiam