// 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-код? На самом деле, это не "просто так", а говорит о неорганизованности мышления. Когда человек (в данном случае ты) даёт кучу лишней информации, запутываясь сам и запутывая других.
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 написал(а):
спасибо.
Есть у Вас, форумчане, БД чоответствий стран к городам, как раз в том формате, в котором я создал первый пост?
Есть у Вас, форумчане, БД чоответствий стран к городам, как раз в том формате, в котором я создал первый пост?
