Si tienes un UNIQUE
índice o PRIMARY KEY
definido en esas tres columnas, entonces sí, puede REPLACE INTO
eso. Agregue el índice si aún no lo tiene:
ALTER TABLE session_table ADD PRIMARY KEY (`id`, `key`, `metadata`);
Si ya tiene un PK definido, cree un compuesto UNIQUE
índice en esas columnas:
CREATE INDEX `idx_id_key_metadata` ON session_table (`id`, `key`, `metadata`);
Más información sobre MySQL CREATE INDEX
sintaxis
Aquí hay una pequeña demostración .