Un dia quise vaciar una tabla pero me salió un error que decía que esa tabla tenia llaves foráneas y entonces no pudo completar la acción y eso esta bien por que si borras datos con llaves foráneas referenciadas, la integridad de tus datos no va ser muy confiable entonces, esta bien que salga ese error, pero lo malo es que como estaba en un ambiente de desarrollo, queria borrar los datos para resetear la base de datos ya que los datos de prueba que ya tenia, tenian que ser eliminados entonces, decidi googlear el problema y encontre la solución mas optima.

este es el error:

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint (mytest.instance, CONSTRAINT instance_ibfk_1 FOREIGN KEY (GroupID) REFERENCES mytest.mygroup (ID))

Para solucionarlo tendremos que tener permisos para poder ejecutar el siguiente comando:


SET FOREIGN_KEY_CHECKS = 0;

Despues ejecutar tus TRUNCATE

TRUNCATE table1;

 

Y al final volver a activar la bandera que revisa las constrains.


SET FOREIGN_KEY_CHECKS = 1;

Ya con eso resuelves el problema de que no te deja borrar tus datos de una tabla con constrains..

Link de referencia stackoverflow

copiar una coleccion en mongodb de un servidor a otro

Un comando para copiar de un servidor a otro una collection de mongobd por que se puede hacer con robomongo pero luego se pone sus moños y no quiere funcionar hasta que se cierra y se vuelve a abrir (fuck robomongo), no es para tanto pero si es tedioso aqui el comando de la muerte… Seguir leyendo copiar una coleccion en mongodb de un servidor a otro

Tenía un campo DateTime y quería asignarle un valor default pero al ponerle que fuera NOW() me marcaba error y tampoco quiso funcionar el CURRENT_TIMESTAMP así que me vi en la necesidad de crear un trigger para cuando se insertará un registro nuevo el campo ese también se actualizará con la fecha actual y al final de cuentas funcionó muy bien, y este fue el resultado de ese pequeño trigger:

create trigger eltrigger_insert BEFORE insert on 'laTabla'
FOR EACH ROW set NEW.campoDateTime = NOW();

Ese es el trigger por si algun dia tienen 2 campos datetime en su tabla aunque estaría loco pero ustedes nunca saben, espero que le sirva a alguien, si no pa que lo posteo o si ya se para que, para hacer spam.

SQLyog cliente para MySQL

SQLyog es una potente herramienta para la gestión de base de datos mysql, la interfaz gráfica es de las mas sencillas que he utilizado, el generador de consultas te hace un gran favor a la hora de crear tus consultas ya que cuenta con autocompletar y asi te hace la vida mas facil, puedes copiar tablas de una base… Seguir leyendo SQLyog cliente para MySQL

Propiedades de las transacciones

Propiedades de las Transacciones Atomicidad: Todas las operaciones en una transacción tienen éxito o ninguno de ellos lo son. El éxito de cada operación individual está ligado al éxito de todo el grupo. Coherencia: El estado resultante al final de la transacción se adhiere a un conjunto de reglas que definen la aceptabilidad de los… Seguir leyendo Propiedades de las transacciones

Salir de la versión móvil