SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.10.2015 18:48:36

Azazello
Участник
Зарегистрирован: 04.10.2015
Сообщений: 3

insert + select

имеем 2 таблицы

CREATE TABLE tt.tt1(
  id INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,
  t1name VARCHAR (20) DEFAULT NULL,
  UNIQUE INDEX id USING BTREE (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci;

CREATE TABLE tt.tt2(
  id INT (11) UNSIGNED NOT NULL,
  t2name VARCHAR (20) NOT NULL
)
ENGINE = INNODB
CHARACTER SET utf8
COLLATE utf8_general_ci;

1-я табл
"id";"t1name";
1;"111";
2;"222";
3;"333";
4;"444";
2-я пустая

делаю
USE tt;
  INSERT INTO tt2 VALUES (id,'111')
    SELECT id FROM  tt1 where tt1.t1name='111' ;

Выполнение завершено успешно [0,024c]
Ошибка: (3,5): 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 'SELECT id FROM  tt1 where tt1.t1name='111'' at line 3

по отдельности select и insert работают. синтаксическую ошибку в упор не вижу. sad

Неактивен

 

#2 04.10.2015 19:36:30

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: insert + select

INSERT INTO tt2 VALUES ((SELECT id FROM  tt1 where tt1.t1name='111'),'111')
а так если?


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 04.10.2015 20:07:38

Azazello
Участник
Зарегистрирован: 04.10.2015
Сообщений: 3

Re: insert + select

так работает, а почему мое не работает? брал пример тут в мануале вроде так-же.

Отредактированно Azazello (04.10.2015 20:11:38)

Неактивен

 

#4 04.10.2015 21:50:16

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: insert + select

Ваше по другому написано, по приведенной Вами ссылке values нету. Если его использовать, то скорее как я привел выше.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson