Having a problem with a MySQL 4.1 master with a MySQL 5.1 slave. The binlog format is STATEMENT (the only one supported by 4.1).

The problem is that the triggers ("ON DUPLICATE KEY UPDATE" and "ON UPDATE CURRENT_TIMESTAMP") are not replicated on the slave.

Code:
CREATE TABLE Table1 (
  PK INT NOT NULL AUTO_INCREMENT,
  Col1 VARCHAR(30) NOT NULL
  Stamp TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY  (PK)
);
Case 1: With this statement:

Code:
INSERT INTO Table1 (PK, Col1) 
VALUES (1, 'Value1') 
ON DUPLICATE KEY UPDATE Col1 = VALUES(Col1)
If a row with PK = 1 is already there, then the statement behaves like an INSERT IGNORE... (nothing is inserted).

Case 2: If I run UPDATE Table1 SET Col1 = 'Value1' WHERE PK = 1

then PK and Col1 are updated, but Stamp is not.

What seems to be the problem?