Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сложный запрос

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Xenox
Отправлено: 30 Сентября, 2015 - 09:57:37
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Господа прошу совета, есть например 2 таблицы,
в одной (table1) поля id, name
во второй(table2) - id, name, second_id
и мне нужно сделать такой sql запрос что бы во вторую таблицу вставить строку,
где к примеру name = "qqq" а second_id = id, у которого name = "www" в первой таблице,
пытаюсь сделать так:
CODE (SQL):
скопировать код в буфер обмена
  1. INSET INTO table2(name, second_id) VALUES ("qqq", (SELECT id FROM table1 WHERE name = "www"));

Но выдает ошибку
CODE (htmlphp):
скопировать код в буфер обмена
  1. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near

P.S. Если бы можно было бы использовать php решается на раз-два, а тут я уже не знаю что делать...
Заранее спасибо
 
 Top
Sail
Отправлено: 30 Сентября, 2015 - 10:21:43
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Xenox, как-то так:
CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO table2(`name`, `second_id`) SELECT 'qqq', id FROM table1 WHERE `name` = 'www'

(Отредактировано автором: 30 Сентября, 2015 - 10:22:25)

 
 Top
SAD
Отправлено: 30 Сентября, 2015 - 10:23:02
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO table2(name, second_id)
  2. SELECT "qqq", id
  3.  FROM table1
  4. WHERE name = "www";

(Отредактировано автором: 30 Сентября, 2015 - 10:25:49)

 
 Top
Xenox
Отправлено: 30 Сентября, 2015 - 10:26:46
Post Id


Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Март 2015  


Помог: 0 раз(а)




Sail пишет:
Xenox, как-то так:
CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO table2(`name`, `second_id`) SELECT 'qqq', id FROM table1 WHERE `name` = 'www'


Спасибо огромное! Все прекрасно работает!))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB