Новости
Документация
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



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
Пожалуйста, помогите разобраться, где ошибка!


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

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

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



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