Подтвердить что ты не робот

SELECT INTO и ошибка "Необъявленная переменная"

Когда я пытаюсь выполнить следующий запрос:

SELECT id_subscriber
  INTO newsletter_to_send
  FROM subscribers 

Я получаю сообщение об ошибке:

# 1327 - Необъявленная переменная: newsletter_to_send

Что не так с этим запросом?

4b9b3361

Ответ 2

MySQL не поддерживает синтаксис SELECT ... INTO ....

Для выполнения этого нужно использовать синтаксис INSERT INTO ... SELECT ...

Подробнее здесь.. http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

Ответ 3

Я думаю, вы можете следовать моему устному пути и, надеюсь, вы сможете исправить свою проблему.

Сначала используйте эту команду sql для создания новой таблицы, в которую вы хотите сделать резервную копию

CREATE TABLE destination_table_name LIKE source_table_name;

После этого вы можете использовать эту команду для копирования этих данных

INSERT INTO destination_table_name
SELECT * FROM source_table_name;

Если у вас уже есть предыдущие данные в таблице назначения, Во-первых, вы можете использовать эту команду

TRUNCATE TABLE destination_table_name; 

Спасибо Мадхут Хоссейн

Ответ 4

CREATE TABLE table_name
AS  
SELECT ...(your select)

Ответ 5

MySQL не поддерживает SELECT INTO [table]. Он поддерживает только SELECT INTO [variable] и может выполнять только одну переменную за раз.

Что вы можете сделать, однако используйте синтаксис CREATE TABLE с SELECT следующим образом:

CREATE TABLE bar ([column list]) SELECT * FROM foo;

Ответ 6

Я пробовал работать над этим только сейчас, и это работает для меня:

CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;

Ответ 7

MySQL Server не поддерживает SELECT... INTO TABLE Расширение Sybase SQL. Вместо этого MySQL Server поддерживает стандартный синтаксис SQL INSERT INTO... SELECT, что в основном одно и то же. См. Раздел 12.2.5.1, "INSERT... SELECT Syntax".

Ссылка: - this

Ответ 8

MySQL не поддерживает синтаксис SELECT... INTO...,

если это новая таблица, используйте синтаксис CREATE TABLE... SELECT...

пример:

CREATE TABLE artists_and_works
  SELECT artist.name, COUNT(work.artist_id) AS number_of_works
  FROM artist LEFT JOIN work ON artist.id = work.artist_id
  GROUP BY artist.id;

читать больше здесь create-table-select

Ответ 9

MySQL не поддерживает SELECT INTO [table]. Он поддерживает только SELECT INTO [variable] и может выполнять только одну переменную за раз.

Однако вы можете использовать синтаксис CREATE TABLE с SELECT следующим образом: