Queria saber que pasa en estos casos:
Asi cree la tabla:
Código PHP:
CREATE TABLE `zip_code` (
`id` int(11) unsigned NOT NULL auto_increment,
`zip_code` varchar(5) collate utf8_bin NOT NULL,
`city` varchar(50) collate utf8_bin default NULL,
`county` varchar(50) collate utf8_bin default NULL,
`state_name` varchar(50) collate utf8_bin default NULL,
`state_prefix` varchar(2) collate utf8_bin default NULL,
`area_code` varchar(3) collate utf8_bin default NULL,
`time_zone` varchar(50) collate utf8_bin default NULL,
`lat` float NOT NULL,
`lon` float NOT NULL,
PRIMARY KEY (`id`),
KEY `zip_code` (`zip_code`)
)
DESCRIBE ZIP_CODES:
Código PHP:
id int(11) unsigned PK
zip_code varchar(5)
city varchar(50)
county varchar(50)
state_name varchar(50)
state_prefix varchar(2)
area_code varchar(3)
time_zone varchar(50)
lat float
lon float
Tengo otra tabla de usuarios que tiene un campo zip_code . Mi pregunta es para hacer este querie, como junto las tablas necesito foreign key o con algun JOIN nada mas??
Código PHP:
SELECT nombre, zip_code from users, zip_code where zipcode=77777 and users.zip_code = zip_code.zip_code ASC LIMIT 0,20;
Ahi tengo un join, pero no se si necesito crear un FOREIGN KEY del campo zip_code de la tabla "zip_code" al "zip_code" de la tabla de usuarios.
Y mi segunda duda, necesito crear un INDEX en zip_code de la tabla zip_code para que la busqueda sea mas rapida o ya esta implenetado al poner "KEY(zip_code)..." ??
Porque ese codigo al crear la tabla me pone PRIMARY KEY(id) y KEY(zip_code). Este ultimo que tipo de KEY se refiere? index?
Este codigo lo saque de otro tutorial para localizacion de usuarios por ZIPCODES pero el querie lo estoy armando yo.
gracias