Estoy insertando algunos datos en una tabla, pero ocasionalmente choca con otros datos en la tabla (es decir, tiene la misma clave primaria).
Me gustaría poder sobreescribir estos datos si están allí, en lugar de tener mysql enviándome un mensaje de error diciendo que se trata de una clave principal duplicada. Sé que puedo simplemente eliminar estos valores de antemano, pero tomaría una consulta algo grande.
¿Es posible sobrescribir estos de alguna manera y suprimir las advertencias, o me veo obligado a eliminar estos valores.Insertar en una tabla mysql y sobrescribir cualquier dato actual
Respuesta
sólo un poco cheatsheet
MySQL tiene 3 escenarios diferentes en el manejo de duplicados de clave principal:
si quieres ...
- hacer nada - use INSERTAR IGNORE
- eliminar existente y crear nuevo - use REPLACE INTO
- actualice existente - use ON DUPLICATE UPDATE
Puede usar reemplazar en lugar de insertar. Mire http://dev.mysql.com/doc/refman/5.1/en/replace.html
Puede usar REPLACE INTO en MySQL para hacerlo.
REPLACE INTO table
SET name = 'Treffynnon'
Buscar "en la actualización de la clave duplicada".
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
MySQL tiene un "INSERT ... EN DUPLICADO actualización de la clave" de comandos. Se puede encontrar aquí: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
INSERT INTO `table` VALUES ('a', 'b') ON DUPLICATE KEY UPDATE `field1`='a', `field2`='b'
'set field = VALUES (campo)' es una mejor opción, le ahorra tener que usar sus datos dos veces en la consulta. la función values () lo extraerá de la parte insertada de la declaración, por lo que los datos solo entrarán en la cadena de consulta una vez. –
- 1. Cómo borrar cualquier dato de certificado SSL
- 2. Insertar fecha actual en formato de fecha y hora mySQL
- 3. ¿Puedo insertar una imagen en una tabla MYSQL DB?
- 4. Insertar datos en la tabla de MySQL con Java
- 5. mysql :: insertar en la tabla, datos de otra tabla?
- 6. ¿Cómo insertar caracteres chinos en la tabla mysql?
- 7. ¿Insertar valores múltiples en una columna mysql?
- 8. Insertar valor predeterminado como fecha actual + 30 días en MySQL
- 9. Actualizar/Insertar en una tabla usando SQLCeResultSet
- 10. Insertar texto Gujarati en una tabla MySQL da como resultado caracteres basura y texto ilegible
- 11. ¿Cómo puedo insertar muchas filas en una tabla MySQL y devolver las nuevas ID?
- 12. MySQL Cómo INSERTAR EN [tabla temporal] FROM [Procedimiento almacenado]
- 13. Python y SQLite: insertar en la tabla
- 14. No se puede insertar el carácter ♥ en la tabla MySQL
- 15. Insertar valores hexadecimales en MySql
- 16. Insertar número secuencial en MySQL
- 17. MySQL Insertar y se une a
- 18. PHP MySQL SQL parser (INSERTAR y ACTUALIZAR)
- 19. Insertar datos en una tabla temporal
- 20. MySQL Fire Trigger para insertar y actualizar
- 21. Cómo insertar la fecha y hora actual en la base de datos MySQL usando un inserto de PHP consulta
- 22. MySQL: Insertar si existe una clave externa
- 23. Duplicar una tabla MySQL, índices y datos
- 24. ¿Cómo obtengo SQLAlchemy para insertar correctamente una elipsis unicode en una tabla mySQL?
- 25. Insertar una publicación en Wordpress usando MySql
- 26. MySQL Insertar registros desde varias tablas a la nueva tabla
- 27. MySQL ¿Cómo se INSERTAR EN una tabla con una subconsulta SELECT que devuelve varias filas?
- 28. PHP MYSQL Insertar/Actualizar
- 29. MySQL Unirse con Insertar combinado?
- 30. MySql Insertar tabla si no existe otra manera actualizar
Me gusta la desvergonzada auto promoción. –