Выберите ошибку и «неразделить переменную»

StackOverflow https://stackoverflow.com/questions/2949653

  •  05-10-2019
  •  | 
  •  

Вопрос

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

SELECT id_subscriber
  INTO newsletter_to_send
  FROM subscribers 

Я получаю ошибку:

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

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

Это было полезно?

Решение

INSERT ... SELECT

http://dev.mysql.com/doc/refman/5.1/en/insert-select.html.

INSERT INTO newsletter_to_send
SELECT id_subscriber FROM subscribers 

PS: Вы уверены, что вам не нужно в WHERE пункт?

Другие советы

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

Вы должны использовать INSERT INTO ... SELECT .. синтаксис для достижения там.

Читать дальше здесь .. http://dev.mysql.com/doc/refman/5.0/en/insert-select.html.

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

Сначала используйте эту команду 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; 

Благодарю по MD. Maruf Hossain

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

Mysql не поддерживает SELECT INTO [table]. Отказ Это только поддерживает SELECT INTO [variable] И можно сделать только одну переменную одновременно.

Что ты могу сделать, однако использует CREATE TABLE синтаксис с A. SELECT вот так:

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

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

CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;

MySQL Server не поддерживает выбор ... в расширении SQL SUQL SYBASE. Вместо этого MySQL Server поддерживает вставку в ... Выберите Стандартный синтаксис SQL, который в основном то же самое. См. Раздел 12.2.5.1, «Вставить ... Выберите синтаксис».

Ref: - это

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

Если это новая таблица, используйте создание таблицы ... Выберите ... Синтаксис.

пример:

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

Mysql не поддерживает SELECT INTO [table]. Отказ Это только поддерживает SELECT INTO [variable] И можно сделать только одну переменную одновременно.

Что вы можете сделать, однако использует CREATE TABLE синтаксис с A. SELECT вот так:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top