홈>
테이블에서 여러 값을 선택하려고합니다 .Playlist_generate, 조건을 사용하여 임시 테이블을 만들고 필드를 업데이트하고 내 테이블에 삽입하는 것보다
$data_tabella_duplicata = $_POST['data_duplicata'];
$data_iniziale_originale = $_GET['data_iniziale'];
$query_duplica_playlist = "
DROP TABLE IF EXISTS temp_table;
CREATE TEMPORARY TABLE temp_table LIKE playlist_generate;
SELECT data_playlist, giorno_playlist, orario_playlist, nome_evento,nome_programma FROM playlist_generate WHERE data_playlist = '".$data_iniziale_originale."';
UPDATE temp_table SET data_playlist='".$data_tabella_duplicata."';
INSERT INTO playlist_generate SELECT null,data_playlist, giorno_playlist,orario_playlist, nome_evento, nome_programma FROM temp_table;
DROP TABLE temp_table;
";
$esegui_query_duplica_playlist = $connessione->query($query_duplica_playlist);
if ($connessione->error) {
try {
throw new Exception("MySQL error $connessione->error <br> Query:<br> $query_duplica_playlist", $connessione->errno);
} catch (Exception $e) {
echo "Error No: ".$e->getCode()." - ".$e->getMessage()."<br >";
echo nl2br($e->getTraceAsString());
}
}
하지만 이해할 수없는 오류가 있습니다
와이즈 비즈phpmyadmin에서 코드를 시도하고 작동합니다
이걸 사용하면
Error No: 1064 - MySQL error You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TEMPORARY TABLE temp_table LIKE playlist_generate; SELECT data_playlist, ' at line 2
결과가 없습니다
$query_duplica_playlist = "
DROP TABLE IF EXISTS temp_table;
CREATE TEMPORARY TABLE temp_table ENGINE = MEMORY;
SELECT data_playlist, giorno_playlist, orario_playlist, nome_evento,nome_programma FROM playlist_generate WHERE data_playlist = '".$data_iniziale_originale."';
UPDATE temp_table SET data_playlist='".$data_tabella_duplicata."';
INSERT INTO playlist_generate SELECT null,data_playlist, giorno_playlist,orario_playlist, nome_evento, nome_programma FROM temp_table;
DROP TABLE temp_table;
";
$esegui_query_duplica_playlist = $connessione->multi_query($query_duplica_playlist);
- 답변 # 1
- 답변 # 2
모두 감사합니다. 가장 좋은 방법은 더 많은 쿼리를 만드는 것입니다. 감사합니다
multi_query()
// 1 query $query_seleziona_data_controllo = "SELECT data_generata FROM data_generata WHERE data_generata ='".$data_tabella_duplicata."' "; $esegui_query_seleziona_data_controllo = $connessione->query($query_seleziona_data_controllo); $numero_righe_query_controllo = $esegui_query_seleziona_data_controllo->num_rows; if ($numero_righe_query_controllo == 0) { // 2 query $query_duplica_playlist = "INSERT INTO playlist_generate_temp SELECT null,data_playlist, giorno_playlist, orario_playlist, nome_evento,nome_programma FROM playlist_generate WHERE data_playlist = '".$data_iniziale_originale."' "; $esegui_query_duplica_playlist = $connessione->query($query_duplica_playlist); // 3 query $query_update_data_nuova = "UPDATE playlist_generate_temp SET data_playlist='".$data_tabella_duplicata."' WHERE data_playlist = '".$data_iniziale_originale."' "; $esegui_query_update_data_nuova = $connessione->query($query_update_data_nuova); // 4 query $query_inserisci_duplicato = "INSERT INTO playlist_generate SELECT null,data_playlist, giorno_playlist, orario_playlist, nome_evento,nome_programma FROM playlist_generate_temp WHERE data_playlist = '".$data_tabella_duplicata."' "; $esegui_query_inserisci_duplicato = $connessione->query($query_inserisci_duplicato); // 5 query $query_truncate_temp = "TRUNCATE TABLE playlist_generate_temp"; $esegui_query_truncate_temp = $connessione->query($query_truncate_temp); mysqli_close($connessione); } else { echo ""; }
관련 자료
- reactjs - 각 JSON 객체를 필터링하여 사용자 정의 가능한 React Table 생성
- sql - 삽입시 트리거를 만들려고 할 때 다중 부분 식별자 오류
- excel - 다른 통합 문서의 데이터에서 차트를 만들려고 할 때 런타임 오류 9
- sql - 두 날짜 사이의 매초 날짜 테이블 만들기
- postgresql - 오류 - 행이 너무 큽니다 : 크기 xxx, 최대 크기 8160 :pg_policies 테이블 관련
- 특정 행과 열이있는 html 테이블을 만드는 방법
- dataframe - R의 동일한 열에 평균 ± SEM이 포함 된 요약 테이블을 어떻게 생성합니까?
- mysql - 내 테이블 생성 쿼리에 어떤 문제가 있습니까?
- 문자열 열을 사용하여 SQL 테이블을 피벗하는 구문 오류
- sql - 파이썬을 사용하여 psql 데이터베이스에 테이블을 만드는 방법은 무엇입니까?
- powerbi - 데이터 흐름 매핑에서 동적 날짜 테이블을 만들 수 있습니까?
- oracle - PK없이 테이블에서 dblink를 통해 빠른 새로 고침 MV를 만드시겠습니까?
- oracle - 컴파일 오류로 프로 시저 SQL 성공 생성
- mysql - 존재하지 않는 경우 테이블 만들기 vs 같은 테이블 표시
- python - Pandas 데이터 프레임을 사용하여 CSV에서 테이블로 데이터를로드하는 동안 오류가 발생했습니다
- mysql - 특정 날짜 이전의 최신 날짜를 선택하여 두 테이블에서 임시 테이블을 만듭니다
- sql - 테이블 열 이름 및 데이터에서 json 키 값 만들기
- 점이있는 mysql에서 테이블을 만들 수 있습니까?
- sql - Oracle의 테이블 B에 삽입 한 후 테이블 A에 새 행을 추가하기위한 트리거를 생성하는 동안 오류가 발생했습니다
- mysql - 트리거에서 테이블을 만들고 비교
관련 질문
- PHP에서 PDO를 사용하여 테이블에 배열을 삽입하는 방법
- php : 중첩 배열 구조의 특정 ID에 대해 전체 테이블/레code 가져오기
- php : Laravel 8 GROUP BY의 Eloquent는 각 유형 중 하나 대신 각 행을 반환합니다.
- php : mysql 데이터베이스에 타임스탬프를 어떻게 저장합니까?
- php : Laravel left오른쪽 테이블의 마지막 레code만 조인
- PHP에서 아래 결과에 맞는 배열을 작성하는 방법
- php : Laravel 마이그레이션 외래 키는 두 개의 열이 있는 기본 키를 참조합니까?
- 데이터베이스에 연결하기 위해 사용자 정의 PHP 버전 5.6.0 오류 추가
- php : MySQL 출력을 여러 페이지로 분할
- php : Laravel에서 A열의 각 값에 대해 B열의 고유한 값만 허용하는 유효성 검사 규칙을 작성하는 방법은 무엇입니까?
문서에서-
와이즈 비즈또한 한 번에 여러 개의 쿼리를 실행하려고하는 것 같습니다. MySQLi를 사용하는 경우
를 사용하고 싶을 것입니다 .multi_query()
사용 , 특히이상적이지 않은과 같은 상황에서이 기능을 사용하려는 경우 논리를 신중하게 고려하십시오.