Vamos começar com a mensagem de erro:
Last_SQL_Error: Error 'Duplicate entry 'forums-pid-994' for key '
app'' on query. Default database: 'forum_db'. Query: 'INSERT INTO ibf_rep
utation_cache ('app','type','type_id','rep_like_cache') VALUES('forums','pid',99
4,'a:2:{s:10:\"cache_data\";a:0:{}s:12:\"cache_expire\";i:1326339370;}') ON DUPL
ICATE KEY UPDATE app=VALUES(app),type=VALUES(type),type_id=VALUES(type_id),rep_l
ike_cache=VALUES(rep_like_cache)'
A replicação é reclamando sobre o índice chamado app
. Evidentemente, você tem um índice UNIQUE nessa coluna. Além disso, observe a cláusula ON DUPLICATE KEY
da consulta. Você tem app=VALUES(app)
. Esta coluna não pode ser substituída em ON DUPLICATE KEY
por dois motivos:
- é a mesma coluna que acionou a ação
ON DUPLICATE KEY
- afetará desnecessariamente o índice
app
se a ação foi permitida
Recomendação: você deve remover app=VALUES(app)
da cláusula ON DUPLICATE KEY
.
É possível que versões anteriores do MySQL simplesmente ignorem colunas ofensivas na cláusula ON DUPLICATE KEY
e a versão mais recente que você está usando agora esteja mais ciente deste problema.