<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

не создается таблица
24.09.2012 00:58:40 не создается таблица Сообщение #1
Igori

Igori

Эксперт

Эксперт

Дата регистрации:
04.07.2011 21:09:44

Сообщений: 100

Михаил, у меня создались две таблицы:

CREATE TABLE usr(
userid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(80) NOT NULL,
surname VARCHAR(80) NOT NULL,
PRIMARY KEY (userid)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;




CREATE TABLE mashin(
mashinid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(80) NOT NULL,
PRIMARY KEY (mashinid)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

Третья таблица не создается , чтобы я не делал. Почему , в чем дело? Подскажи!


CREATE TABLE linc(
linid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
userid INT(10) UNSIGNED NOT NULL,
mashinid INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (linid),
FOREIGN KEY (userid) REFERENCES usr(userid)
ON UPDATE CASCADE
ON DELETE RESTRICT,
FOREIGN KEY (mashinid) REFERENCES mashin(masinid)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

Профиль Ответить
24.09.2012 12:00:57 не создается таблица Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Базу Вы не указываете, в которой таблица должна быть создана, вот Вам ошибку и пишет. Через точку с именем таблицы укажите.
Профиль Ответить
24.09.2012 12:19:33 не создается таблица Сообщение #3
Igori

Igori

Эксперт

Эксперт

Дата регистрации:
04.07.2011 21:09:44

Сообщений: 100

CREATE TABLE linc.Имя базы(
linid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
userid INT(10) UNSIGNED NOT NULL,
mashinid INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (linid),
FOREIGN KEY (userid) REFERENCES usr(userid)
ON UPDATE CASCADE
ON DELETE RESTRICT,
FOREIGN KEY (mashinid) REFERENCES mashin(masinid)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

Вот так?
Профиль Ответить
24.09.2012 22:30:28 не создается таблица Сообщение #4
Igori

Igori

Эксперт

Эксперт

Дата регистрации:
04.07.2011 21:09:44

Сообщений: 100

Михаил я понял, что надо так: CREATE TABLE linc.Имя базы(........), да?
Профиль Ответить
24.09.2012 23:31:55 не создается таблица Сообщение #5
Igori

Igori

Эксперт

Эксперт

Дата регистрации:
04.07.2011 21:09:44

Сообщений: 100

Михаил ответь пожалуйста , мне очень необходимо разобраться!
Профиль Ответить
25.09.2012 14:45:04 не создается таблица Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, так, но судя по всему ошибка там не такая простая. Третья таблица не работает из-за foreign key. Вот как можно починить, для примера:

DROP TABLE IF EXISTS linc;
DROP TABLE IF EXISTS usr;

CREATE TABLE usr (
userid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(80) NOT NULL,
surname VARCHAR(80) NOT NULL,
PRIMARY KEY (userid)
) ENGINE=INNODB DEFAULT CHARSET=cp1251;

CREATE TABLE linc (
linid INT(10) UNSIGNED NOT NULL,
parent_usrid INT(10) UNSIGNED NOT NULL,
INDEX par_ind (parent_usrid),
FOREIGN KEY (parent_usrid) REFERENCES usr(userid)
ON UPDATE CASCADE
ON DELETE RESTRICT
) ENGINE=INNODB DEFAULT CHARSET=cp1251;
Профиль Ответить
25.09.2012 22:02:45 не создается таблица Сообщение #7
Igori

Igori

Эксперт

Эксперт

Дата регистрации:
04.07.2011 21:09:44

Сообщений: 100

Вот это для чего, поясни пожалуйста!

DROP TABLE IF EXISTS linc;
DROP TABLE IF EXISTS usr;
Профиль Ответить
26.09.2012 14:58:50 не создается таблица Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

На эти строки можете не обращать внимания и не писать их. Я когда тестировал, добавил эту запись, чтобы старые таблицы удалялись, перед попыткой добавить новые. Ну и название базы по-хорошему тоже надо указывать.
Профиль Ответить
28.09.2012 23:03:36 не создается таблица Сообщение #9
Igori

Igori

Эксперт

Эксперт

Дата регистрации:
04.07.2011 21:09:44

Сообщений: 100

Михаил, привет! Моя ошибка была в том, что я не объявил в таблице "linc" поля "userid" и "ashinid" ндексными,да?

CREATE TABLE linc(
linid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
userid INT(10) UNSIGNED NOT NULL,
mashinid INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (linid),
FOREIGN KEY (userid) REFERENCES usr(userid)
ON UPDATE CASCADE
ON DELETE RESTRICT,
FOREIGN KEY (mashinid) REFERENCES mashin(masinid)
ON UPDATE RESTRICT
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;


Я просто хочу понять,чтобы в будующем не делать ошибок.
Профиль Ответить
29.09.2012 10:29:22 не создается таблица Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, в этом была ошибка. Ещё, вероятно, не стоит называть поля так же, как и в родительских таблицах (т.е. userid в linc лучше переименовать, как у меня в примере). Хотя и так должно работать.
Профиль Ответить