
ignorar duplicados en insert
Publicado por Angel (3 intervenciones) el 28/04/2021 00:20:15
Hola.
Estoy tratando de hacer un proceso de recoleccion de activides y transacciones en mysql.
Estoy copienado la informacion del general_log, general_log_history y otras 2 tablas de performance_schema en una tablas de otra base de datos que cree solo para fines de reporteria.
Al momento de insertar la informacion me genera duplicados, porque me trae la informacion actual mas la que ya se encuentra en las tablas.
He intentado con insert ignore y no me funciona.
He intentado crear indices uniques en algunas columnas y funciona para threads e event_statement_current de performance Schemas pero no para el general_log de mysql.
¿Como puedo hacer para copiar la informacion de manera unica (sin duplicados) cada dos minutes?
Si no puedo copiar la informacion de manera unica, ¿como puedo hacer para filtrar la informaccion repetida para que sea unica?
desc general_log;
Aparentement el event_time tendria que ser unico, sin embargo he tenido casos de hasta 4 y mas transacciones el mismo dia y segundo preciso.
De antemano, gracias por la informacion y la ayuda brindada.
Angel
Estoy tratando de hacer un proceso de recoleccion de activides y transacciones en mysql.
Estoy copienado la informacion del general_log, general_log_history y otras 2 tablas de performance_schema en una tablas de otra base de datos que cree solo para fines de reporteria.
Al momento de insertar la informacion me genera duplicados, porque me trae la informacion actual mas la que ya se encuentra en las tablas.
He intentado con insert ignore y no me funciona.
He intentado crear indices uniques en algunas columnas y funciona para threads e event_statement_current de performance Schemas pero no para el general_log de mysql.
¿Como puedo hacer para copiar la informacion de manera unica (sin duplicados) cada dos minutes?
Si no puedo copiar la informacion de manera unica, ¿como puedo hacer para filtrar la informaccion repetida para que sea unica?
desc general_log;
1
2
3
4
5
6
7
8
9
10
+--------------+---------------------+------+-----+----------------------+--------------------------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------------------+------+-----+----------------------+--------------------------------+
| event_time | timestamp(6) | NO | | current_timestamp(6) | on update current_timestamp(6) |
| user_host | mediumtext | NO | | NULL | |
| thread_id | bigint(21) unsigned | NO | | NULL | |
| server_id | int(10) unsigned | NO | | NULL | |
| command_type | varchar(64) | NO | | NULL | |
| argument | mediumtext | NO | | NULL | |
+--------------+---------------------+------+-----+----------------------+--------------------------------+
Aparentement el event_time tendria que ser unico, sin embargo he tenido casos de hasta 4 y mas transacciones el mismo dia y segundo preciso.
De antemano, gracias por la informacion y la ayuda brindada.
Angel
Valora esta pregunta


0