Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Ситуация у меня такая. Недавно начал изучать MySQL 5.0 возникло много теоретических вопросов:
1) Если создаются таблицы со связью "многие ко многим", то по правилам создают третью таблицу в которой указывается сама связь по определенным ключам. Вопрос такой, есть 3 таблицы (третья- таблица связей)
ПОЛЬЗОВАТЕЛИ
CREATE TABLE users(
userid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(80) NOT NULL,
surname VARCHAR(80) NOT NULL,
PRIMARY KEY (userid)
) TYPE=InnoDB;
Продукты
CREATE TABLE products(
prodid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(80) NOT NULL,
PRIMARY KEY (prodid)
) TYPE=InnoDB;
ЗАКАЗЫ
CREATE TABLE `orders`(
ordid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
userid INT(10) UNSIGNED NOT NULL,
prodid INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (ordid),
FOREIGN KEY (userid) REFERENCES users(userid)
ON UPDATE CASCADE
ON DELETE RESTRICT,
FOREIGN KEY (prodid) REFERENCES products(prodid)
ON UPDATE RESTRICT
ON DELETE CASCADE
) TYPE = InnoDB
Рисунок схемы таблицы, для наглядности примера, ниже.
когда пользователь делает покупку, то в таблице ЗАКАЗЫ остается запись идентификатор пользователя и идентиыикатоор товара, который он заказал. ВОПРОС: MySQL делает сама запись в таблица связей (в нашем случае ЗАКАЗЫ) или мне нужно при каждом заказе товара пользователем прописывать в ЗАКАЗАХ идентификатор пользователя и товара который он заказал?
Если можно, прошу навести пример записи в таблицы. ЗАРАНЕЕ БЛАГОДАРЮ ЗА ОТВЕТ!)))
Неактивен
Cypher написал:
MySQL делает сама запись в таблица связей (в нашем случае ЗАКАЗЫ) или мне нужно при каждом заказе товара пользователем прописывать в ЗАКАЗАХ идентификатор пользователя и товара который он заказал?
Естественно вам придется самому делать запись в таблице заказов.
Cypher написал:
Если можно, прошу навести пример записи в таблицы. ЗАРАНЕЕ БЛАГОДАРЮ ЗА ОТВЕТ!)))
Неактивен
Благодарю за ответ!)))
Еще такой вопрос. Например пользователь 1 заказывает товар 2, то в таблицу ЗАКАЗЫ нужно записать ключи товара и пользователя таким запросом ?
INSERT INTO orders (userid,prodid )
SELECT users.userid , products.prodid
FROM users,products WHERE users.userid =1 AND products.prodid =2 ;
Кстати. я учусь по книге "Самоучитель MySQL 5,0 " М.Кузнецов,И.Симдянов. Книга. конечно, не изобилует примерами и реальным кодом, сухая теория, и то половина книги про функции. Возможно Вы посоветуете мне что-то получше?
Благодарю Вас !))
Неактивен
Cypher написал:
Например пользователь 1 заказывает товар 2, то в таблицу ЗАКАЗЫ нужно записать ключи товара и пользователя таким запросом ?
INSERT INTO orders (userid,prodid )
SELECT users.userid , products.prodid
FROM users,products WHERE users.userid =1 AND products.prodid =2 ;
Можно конечно и таким, но я бы написал
Cypher написал:
Кстати. я учусь по книге "Самоучитель MySQL 5,0 " М.Кузнецов,И.Симдянов. Книга. конечно, не изобилует примерами и реальным кодом, сухая теория, и то половина книги про функции. Возможно Вы посоветуете мне что-то получше?
http://sqlinfo.ru/forum/viewtopic.php?id=1369
Ещё документация - http://dev.mysql.com/doc/refman/5.1/en/
А, отвечая на форуме, разберете кучу реальных примеров из жизни. Это, без иронии, лучше любой книжки.
Неактивен
незнаю точно куда писать но уменя такая проблема, я немогу зайти на сайт попадаю на такую сраницу
MySQL Error!
------------------------
The Error returned was:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Error Number:
1
помагите плиз
Неактивен
Инна, а что Вам помешало создать отдельную тему?
Скорее всего, не запущен демон MySQL.
Неактивен