Articles of mysql

Los desencadenadores de MySQL no pueden actualizar filas en la misma tabla a la que se asigna el desencadenador. ¿Solución sugerida?

MySQL actualmente no admite la actualización de filas en la misma tabla a la que se asigna el desencadenador ya que la llamada podría volverse recursiva. ¿Alguien tiene sugerencias sobre una buena solución alternativa? En este momento mi plan es llamar a un procedimiento almacenado que ejecute la lógica que realmente quería en un desencadenante, […]

Nombres de tablas dinámicas en la función de procedimiento almacenado

He escrito una función de procedimiento almacenado para obtener un nombre de una tabla. El problema es que quiero que se pase el nombre de la tabla como un parámetro (hay varias tablas diferentes con las que necesito usar esta función): DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `getName`(tableName VARCHAR(50), myId INT(11)) RETURNS VARCHAR(50) begin DECLARE myName […]

comparación de fecha mysql con date_format

Busqué en Google e intenté varias formas de comparar la fecha, pero desafortunadamente no obtuve el resultado esperado. Tengo el estado actual de registros como el siguiente: mysql> select date_format(date(starttime),’%d-%m-%Y’) from data; +—————————————–+ | date_format(date(starttime),’%d-%m-%Y’) | +—————————————–+ | 28-10-2012 | | 02-11-2012 | | 02-11-2012 | | 02-11-2012 | | 03-11-2012 | | 03-11-2012 | […]

mysql, ifnull vs coalesce, ¿cuál es más rápido?

si se sabe que solo hay dos valores candidatos para el resultado de una columna, ifnull(a, b) as a_or_b_1 y coalesce(a, b) as a_or_b_2 dará el mismo resultado. pero, ¿cuál es más rápido? al buscar encontré este artículo , que dice que ifnull es más rápido. pero fue el único artículo que encontré. cualquier opinión […]

¿Cómo solo seleccionar datos numéricos de mysql?

¿Tiene mysql una función como is_num () que me permita determinar si los datos son numéricos o no?

MySQL convierte la salida de timediff a día, hora, minuto, segundo formato

Esta es mi consulta: SELECT TIMEDIFF(end_time,start_time) AS “total” FROM `metrics`; que me da: 116:12:10 es decir, 116 horas, 12 minutos y 10 segundos. En cambio, quiero que diga 4 días, 20 horas, 12 minutos, etc.

¿Por qué las filas devuelven por “explicar” no es igual a count ()?

mysql> select count(*) from table where relation_title=’xxxxxxxxx’; +———-+ | count(*) | +———-+ | 1291958 | +———-+ mysql> explain select * from table where relation_title=’xxxxxxxxx’; +—-+————-+———+- | id | select_type | rows | +—-+————-+———+- | 1 | SIMPLE | 1274785 | +—-+————-+———+- Creo que “explicar select * from table donde relation_title = ‘xxxxxxxxx’;” devuelve las filas […]

Devuelve un valor predeterminado si no se encontraron filas

Tengo la siguiente instrucción de selección para tomar el siguiente elemento progtwigdo para una transmisión. Si no hay una fila coincidente, quiero que devuelva un valor predeterminado. Aquí está la línea que estoy usando: SELECT `file` FROM `show`, `schedule` WHERE `channel` = 1 AND `start_time` UNIX_TIMESTAMP()-1800 AND `show`.`id` = `schedule`.`file` ORDER BY `start_time` DESC LIMIT […]

Usar clave primaria compuesta como clave externa

¿Cómo puedo usar una clave primaria compuesta como una clave externa? Parece que mi bash no funciona. create table student ( student_id varchar (25) not null , student_name varchar (50) not null , student_pone int , student_CNIC varchar (50), students_Email varchar (50), srudents_address varchar(250), dept_id varchar(6), batch_id varchar(4), FOREIGN KEY (dept_id) REFERENCES department(dept_id), FOREIGN KEY […]

¿MySQL admite la fecha histórica (como 1200)?

No puedo ver ninguna información sobre eso. ¿Dónde puedo encontrar la fecha más antigua que Mysql puede admitir?