Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
INSERT ... SELECT (braboar) 14/06/2012 - 15:23:30
      Re: INSERT ... SELECT (Akina) 14/06/2012 - 17:29:07
      Re: INSERT ... SELECT (braboar) 14/06/2012 - 17:38:01
      Re: INSERT ... SELECT (Akina) 14/06/2012 - 20:38:30
      Re: INSERT ... SELECT (braboar) 15/06/2012 - 14:56:40
      Re: INSERT ... SELECT (Akina) 17/06/2012 - 00:18:07

> Original message text:
> From: braboar - 14/06/2012 - 15:23:30
> Subject:INSERT ... SELECT
> -----------------
> Доброго дня всем!
> Есть таблицы:
> CREATE TABLE bibles.books(
> bookID INT(11) NOT NULL AUTO_INCREMENT,
> author INT(11) DEFAULT NULL,
> title VARCHAR(255) DEFAULT NULL,
> amount INT(11) NOT NULL DEFAULT 0,
> deliveries INT(11) NOT NULL DEFAULT 0,
> PRIMARY KEY (bookID)
> )
> ENGINE = MYISAM
> и
> CREATE TABLE bibles.authors(
> authID INT(11) NOT NULL AUTO_INCREMENT,
> fName VARCHAR(32) DEFAULT NULL,
> lName VARCHAR(32) DEFAULT NULL,
> PRIMARY KEY (authID)
> )
> ENGINE = MYISAM
> AUTO_INCREMENT = 1
>
> AUTO_INCREMENT = 1
> CHARACTER SET cp1251
> COLLATE cp1251_general_ci;
> Пытаюсь добавить в books новую запись с одновременной вставкой в authors, если такого автора не существовало:
> SET @title = 'Geometry Basics';
> SET @amount = 5;
>
> USE bibles;
>
> SET @fName = 'Sigismund';
> SET @sName = 'Freud';
>
> INSERT INTO books (author, title)
> VALUES (
> (INSERT INTO authors (fName, lName)
> SELECT @fName, @sName FROM DUAL
> WHERE NOT EXISTS(
> SELECT authors.fName, authors.lName FROM authors
> WHERE authors.fName = @fName AND authors.lName = @sName LIMIT 1)),
> @title
> );
> Получаю:
> 1 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO authors (fName, lName)
> SELECT @fName, @sName FROM DUAL
> WHERE ' at line 11
> Пожалуйста, помогите разобраться, где ошибка!
>


From: braboar - 14/06/2012 - 17:38:01
Subject:INSERT ... SELECT
-----------------
Спасибо, понял. Хранимые процедуры вроде получались (ибо я только начинаю что-то делать чуть сложнее простого SELECT'а), а вот, пожалуйста, приведите пример, как вложенную процедуру вызвать для моего случая. Заранее благодарю.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
41405



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |