···119119 let components = B::to_rusqlite(component)?;
120120121121 let mut stmt = self.0.conn.prepare(
122122- "insert or replace into components (entity, component, data) values (?1, ?2, ?3)",
122122+ r#"
123123+ insert into components (entity, component, data)
124124+ values (?1, ?2, ?3)
125125+ on conflict (entity, component) do update
126126+ set data = excluded.data where data is not excluded.data;
127127+ "#,
123128 )?;
124129125130 for (component, data) in components {