본문 바로가기
MySql

MySQL 임시 테이블을 만들고 선택

by 베이스 공부 2021. 2. 14.
반응형

이것을 실행할 때 '선언되지 않은 변수 : temp'오류가 발생합니다.

<?php 

$maketemp = "CREATE TEMPORARY TABLE temp(`itineraryId` int NOT NULL, `live` varchar(1), `shipCode` varchar(10), `description` text, `duration` varchar(10), PRIMARY KEY(itineraryId))"; 

mysql_query( $maketemp, $connection ) or die ( "Sql error : " . mysql_error ( ) );

$inserttemp = "SELECT live, id AS itineraryId, ship AS shipCode, description AS description, duration AS length FROM cruises WHERE live ='Y' INTO temp";

mysql_query( $inserttemp, $connection ) or die ( "Sql error : " . mysql_error ( ) );

$select = "SELECT intineraryId, shipCode, description, duration FROM temp";

$export = mysql_query ( $select, $connection ) or die ( "Sql error : " . mysql_error( ) );

어떤 아이디어?

 

해결 방법

 


이 코드는 작동합니다.

<?php

  $maketemp = "
    CREATE TEMPORARY TABLE temp_table_1 (
      `itineraryId` int NOT NULL,
      `live` varchar(1),
      `shipCode` varchar(10),
      `description` text,
      `duration` varchar(10),
      PRIMARY KEY(itineraryId)
    )
  "; 

  mysql_query($maketemp, $connection) or die ("Sql error : ".mysql_error());

  $inserttemp = "
    INSERT INTO temp_table_1
      (`itineraryId`, `live`, `shipCode`, `description`, `duration`)
    SELECT `id`, `live`, `ship`, `description`, `duration`
    FROM `cruises`
    WHERE `live` = 'Y'
  ";

  mysql_query($inserttemp, $connection) or die ("Sql error : ".mysql_error());

  $select = "
    SELECT `itineraryId`, `shipCode`, `description`, `duration`
    FROM temp_table_1
  ";
  $export = mysql_query($select, $connection) or die ("Sql error : ".mysql_error());

나는 당신이 임시 테이블로 더 많은 일을 할 것이라고 생각하거나 단지 그것을 가지고 놀고 있다고 생각하지만 전체 코드가 다음과 같이 요약 될 수 있음을 인식하지 못한다면 :

<?php

  $query = "
    SELECT `id` AS 'itineraryId', `ship`, `description`, `duration`
    FROM `cruises`
    WHERE `live` = 'Y'
  ";
  $export = mysql_query($query, $connection) or die ("Sql error : ".mysql_error());

 

참조 페이지 https://stackoverflow.com/questions/10348196

 

 

반응형

댓글