que tienen dos tabels;actualización de MySQL todas las filas de selección basado en la de otra tabla
mysql> describe ipinfo.ip_group_country;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| ip_start | bigint(20) | NO | PRI | NULL | |
| ip_cidr | varchar(20) | NO | | NULL | |
| country_code | varchar(2) | NO | MUL | NULL | |
| country_name | varchar(64) | NO | | NULL | |
+--------------+-------------+------+-----+---------+-------+
mysql> describe logs.logs;
+----------------------+------------+------+-----+---------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+------------+------+-----+---------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| ts | timestamp | NO | | CURRENT_TIMESTAMP | |
| REMOTE_ADDR | tinytext | NO | | NULL | |
| COUNTRY_CODE | char(2) | NO | | NULL | |
+----------------------+------------+------+-----+---------------------+----------------+
puedo seleccionar el código de país utilizando la dirección IP de la primera tabla:
mysql> SELECT country_code FROM ipinfo.`ip_group_country` where `ip_start` <= INET_ATON('74.125.45.100') order by ip_start desc limit 1;
+--------------+
| country_code |
+--------------+
| US |
+--------------+
En logs.logs, tengo toda la (dirección IP) REMOTE_ADDR conjunto, pero todas las entradas country_code están vacíos. Ahora, deseo completar COUNTRY_CODE de forma adecuada con la tabla ipinfo. ¿Cómo puedo hacer esto?
gracias!
gracias. Consigo un error: 'mysql> logs.logs de actualización como l, ipinfo.ip_group_country como conjunto c l.COUNTRY_CODE = max (c.country_code) donde c.ip_start <= INET_ATON (l.REMOTE_ADDR); ERROR 1111 (HY000): Uso no válido de grupo function' – anon
Lo siento, tienes razón, he Editted con algo que debería funcionar mejor. – nicolaskruchten
gracias, voy a usar ese – anon