Когда я пытаюсь выполнить следующий запрос:
SELECT id_subscriber
INTO newsletter_to_send
FROM subscribers
Я получаю сообщение об ошибке:
# 1327 - Необъявленная переменная: newsletter_to_send
Что не так с этим запросом?
Когда я пытаюсь выполнить следующий запрос:
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;
Спасибо Мадхут Хоссейн
CREATE TABLE table_name
AS
SELECT ...(your select)
MySQL не поддерживает SELECT INTO [table]
. Он поддерживает только SELECT INTO [variable]
и может выполнять только одну переменную за раз.
Что вы можете сделать, однако используйте синтаксис CREATE TABLE
с SELECT
следующим образом:
CREATE TABLE bar ([column list]) SELECT * FROM foo;
Я пробовал работать над этим только сейчас, и это работает для меня:
CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;
MySQL Server не поддерживает SELECT... INTO TABLE Расширение Sybase SQL. Вместо этого MySQL Server поддерживает стандартный синтаксис SQL INSERT INTO... SELECT, что в основном одно и то же. См. Раздел 12.2.5.1, "INSERT... SELECT Syntax".
Ссылка: - this
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
MySQL не поддерживает SELECT INTO [table]
. Он поддерживает только SELECT INTO [variable]
и может выполнять только одну переменную за раз.
Однако вы можете использовать синтаксис CREATE TABLE
с SELECT
следующим образом: