source

SELECT INTO 및 "미등록 변수" 오류

manysource 2022. 11. 13. 19:33

SELECT INTO 및 "미등록 변수" 오류

다음 쿼리를 실행하려고 하면:

SELECT id_subscriber
  INTO newsletter_to_send
  FROM subscribers 

에러가 표시된다.

#1327 - 선언되지 않은 변수: 뉴스레터_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;

Destination 테이블에 이전 데이터가 이미 있는 경우 먼저 이 명령을 사용할 수 있습니다.

TRUNCATE TABLE destination_table_name; 

Md. Maruf Hossain님 감사합니다

MySQL은 지원하지 않습니다.SELECT INTO [table]. 한 번에 하나의 변수만 지원하고 실행할 수 있습니다.

, 이 구문을 사용할 수 있습니다.SELECT다음과 같이 합니다.

CREATE TABLE bar ([column list]) SELECT * FROM foo;
CREATE TABLE table_name
AS  
SELECT ...(your select)

방금 이 작업을 시도했는데, 이 작업이 효과적입니다.

CREATE TABLE New_Table_name
SELECT * FROM Original_Table_name;

MySQL Server는 SELECT ... INTO TABLE Sybase SQL 확장을 지원하지 않습니다.대신 MySQL Server는 INSERT INTO...를 지원합니다.기본적으로 동일한 표준 SQL 구문을 선택합니다.섹션 12.2.5.1 "INSERT ... SELECT 구문"을 참조하십시오.

참조:- 이거

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

새 테이블을 복제 테이블로 만드는 경우.

CREATE TABLE WorkerClone LIKE Worker;   //only structure will show no data
CREATE TABLE WorkerClone Select * from  Worker; //DUPLICATE table created with all details.

이 작업을 수행할 때CREATE TABLE+INSERT INTO+DROP TABLE다음과 같이 합니다.

SELECT @newsletter_to_send := id_subscriber
FROM subscribers WHERE your_condition = your_value;

MySQL은 지원하지 않습니다.SELECT INTO [table]. 지원만 가능합니다.SELECT INTO [variable]한 번에 하나의 변수만 수행할 수 있습니다.

다만, 할 수 있는 것은,CREATE TABLE와의 구문SELECT다음과 같이 합니다.

언급URL : https://stackoverflow.com/questions/2949653/select-into-and-undeclared-variable-error