[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Связь ОДИНкоМНОГИМ..одна страна ко многим городам
phpsc
// create table "country"
$table = "country";
$query = " CREATE TABLE $table (
country_id INT AUTO_INCREMENT NOT NULL,
country VARCHAR(25) NOT NULL,
PRIMARY KEY(country_id)
) ENGINE=InnoDB CHARACTER SET=UTF8"
;
$result = mysql_query($query)
or die ("<p>Нельзя создать таблицу ".$table." : ".mysql_error());
if ($result) echo" Table \"$table\" is created <br>";

//create table "city"
$table = "city";
$query = "CREATE TABLE city (
id INT AUTO_INCREMENT NOT NULL,
country_id INT NOT NULL,
name INT NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY (country_id) REFERENCES country(country_id)
ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB CHARACTER SET=UTF8"
;
$result = mysql_query($query)
or die ("<p>Нельзя создать таблицу ".$table." : ".mysql_error());
if ($result) echo" Table \"$table\" is created <br>";

Код рабочий.
Всего один вопрос у меня : в коде правильно записано ОДНА СТРАНА ко МНОГИМ ГОРОДАМ?



Спустя 48 минут, 24 секунды (10.11.2010 - 18:06) sergeiss написал(а):
А можно я задам встречных пару вопросов?

1. Зачем создавать таблицу в ПХП скрипте, а не до начала его работы? Она что - каждый раз при запуске скрипта создаётся???

2. Зачем ты вообще тут приводишь код ПХП, если речь идет ТОЛЬКО про SQL? Нельзя было указать только SQL-код? На самом деле, это не "просто так", а говорит о неорганизованности мышления. Когда человек (в данном случае ты) даёт кучу лишней информации, запутываясь сам и запутывая других.

Спустя 35 минут, 49 секунд (10.11.2010 - 18:42) phpsc написал(а):
Цитата (sergeiss @ 10.11.2010 - 15:06)
А можно я задам встречных пару вопросов?

1. Зачем создавать таблицу в ПХП скрипте, а не до начала его работы? Она что - каждый раз при запуске скрипта создаётся???

2. Зачем ты вообще тут приводишь код ПХП, если речь идет ТОЛЬКО про SQL? Нельзя было указать только SQL-код? На самом деле, это не "просто так", а говорит о неорганизованности мышления. Когда человек (в данном случае ты) даёт кучу лишней информации, запутываясь сам и запутывая других.

да, спасибо.
Но я привык все БД создавать через php скрипт....просто дело привычки, как то так.

И все же я все верно сделал?

Спустя 2 часа, 18 минут, 17 секунд (10.11.2010 - 21:00) SlavaFr написал(а):
Цитата (phpsc @ 10.11.2010 - 15:42)
И все же я все верно сделал?

если sql сработало, то да.
Отношение город имеет одну страну и страна имеет 0.* городов правильно.
ON DELETE CASCADE зделать можно, но лучше ручками вначале все стереть с городов, а потом удалить страну. просто будет обидно, если при случайном удалении страны все города с этой страны удалятся.

Спустя 5 часов, 7 минут, 39 секунд (11.11.2010 - 02:08) phpsc написал(а):
спасибо.

Есть у Вас, форумчане, БД чоответствий стран к городам, как раз в том формате, в котором я создал первый пост?

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.