rustoy
Новичок
как связать таблицы?
объясните популярно, как связать таблицы
Необходимо хранить часто повторяющиеся значения в других таблицах
а в основной соответственно номера их id
правильно ли созданы таблицы и что писать в запросе?
CREATE TABLE main (
id int(3) NOT NULL auto_increment,
id_city int(3) NOT NULL default '0',
id_name int(3) NOT NULL default '0',
PRIMARY KEY (id),
KEY id_name (id_city,id_name)
) TYPE=MyISAM;
INSERT INTO main VALUES (1, 1, 1);
INSERT INTO main VALUES (2, 1, 2);
INSERT INTO main VALUES (3, 2, 3);
CREATE TABLE city (
id_city int(3) NOT NULL auto_increment,
city varchar(25) NOT NULL default '',
KEY id (id_city)
) TYPE=MyISAM;
INSERT INTO city VALUES (1, 'Москва');
INSERT INTO city VALUES (2, 'Санкт-Петербург');
CREATE TABLE name (
id_name int(3) NOT NULL auto_increment,
name varchar(25) NOT NULL default '',
KEY id_dog (id_name)
) TYPE=MyISAM;
INSERT INTO name VALUES (1, 'Александр');
INSERT INTO name VALUES (2, 'Алексей');
INSERT INTO name VALUES (3, 'Сергей');
объясните популярно, как связать таблицы
Необходимо хранить часто повторяющиеся значения в других таблицах
а в основной соответственно номера их id
правильно ли созданы таблицы и что писать в запросе?
CREATE TABLE main (
id int(3) NOT NULL auto_increment,
id_city int(3) NOT NULL default '0',
id_name int(3) NOT NULL default '0',
PRIMARY KEY (id),
KEY id_name (id_city,id_name)
) TYPE=MyISAM;
INSERT INTO main VALUES (1, 1, 1);
INSERT INTO main VALUES (2, 1, 2);
INSERT INTO main VALUES (3, 2, 3);
CREATE TABLE city (
id_city int(3) NOT NULL auto_increment,
city varchar(25) NOT NULL default '',
KEY id (id_city)
) TYPE=MyISAM;
INSERT INTO city VALUES (1, 'Москва');
INSERT INTO city VALUES (2, 'Санкт-Петербург');
CREATE TABLE name (
id_name int(3) NOT NULL auto_increment,
name varchar(25) NOT NULL default '',
KEY id_dog (id_name)
) TYPE=MyISAM;
INSERT INTO name VALUES (1, 'Александр');
INSERT INTO name VALUES (2, 'Алексей');
INSERT INTO name VALUES (3, 'Сергей');
PHP:
<?
$hostname = "localhost";
$username = "second";
$password = "";
$dbName = "catalog";
$userstable_1 = "main";
$userstable_2 = "city";
$userstable_3 = "name";
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не могу создать соединение ");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");
$query = "SELECT ?????? FROM ?????? WHERE ?????????????????????????????????????????????";
$result = MYSQL_QUERY($query);
$number = MYSQL_NUMROWS($result);
$i = 0;
IF ($number == 0) {
PRINT "нет совпадений";
} ELSEIF ($number > 0) {
PRINT "количество совпадений: $number<BR><BR>";
WHILE ($i < $number){
$name = mysql_result($result,$i,"name");
$city = mysql_result($result,$i,"city");
PRINT "$name,$city<BR>";
$i++;
}
}
?>