내 지식에 대한 alter table 쿼리의 특성은 준비된 문이 아닙니다. 그러나 대부분의 테이블 변경 쿼리에는 beginTransaction
및 commit()
함수를 호출해야합니다.
$dbh->beginTransaction();
/* Change the database schema and data */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");
$sth = $dbh->exec("ALTER TABLE `dessert` ADD `field1` VARCHAR(24) NOT NULL");
/* Commit changes */
$dbh->commit();
준비된 문장을 사용하여 내가 아는 한 실행할 수 있지만.
참고 :
MySQL은 암시 적으로 CREATE TABLE
및 DROP TABLE
쿼리에 커밋() 함수를 호출, 그래서 롤백 할 수 없습니다.
alter table 쿼리에 변수를 전달하려는 경우 사용자 입력 (해당 위치가 어디인지)이 있는지 확인하고 db에 저장 프로 시저를 만든 다음 PDO를 사용하여 호출하십시오 inout을 위해 변수를 첨부하십시오. 귀하의 질문에 대한 한마디 한마디.
실패했기 때문에 가능하지 않습니다. – hjpotter92
@TheJumpingFrog 테스트에서 실패한 스택 오버플로에 대해 많은 질문을했기 때문에 모든 테스트 중 하나가 응답되었습니다. – cgwebprojects