채택완료

ALTER TABLE `g5_write_%` 혹시 이 쿼리문 사용가능할까요?

2018-01-02 (화) 19:49:18 2,025

ALTER TABLE  `g5_write_%` ADD  `wr_etc` VARCHAR( 40 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL ;
 

g5_write_  로 시작하는 모든 테이블에 컬럼을 추가 하고 싶은데 

이렇게 하면 될까요?

db 부분이라 조심스러워서요 ..

|

답변 1개

채택된 답변
+20 포인트
2018-01-02 (화) 20:06:57

문의하신 것과 같이 단일 쿼리로 처리하는 방법은 없는 것으로 알고 있습니다.

다음 방법으로 해보세요.

Copy
$sql = "select bo_table from g5_board where (1) order by bo_table asc";

$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {

    $bo_write_table = $g5['write_prefix'] . $row['bo_table'];

    $sql2 = "ALTER TABLE  `{$bo_write_table}` ADD  `wr_etc` VARCHAR( 40 ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL ;";

    sql_query($sql2);

}

설치된 모든 게시판 테이블 정보를 불러와서 반복문을 통해 각 테이블에 컬럼을 추가하는 방식입니다.

답변을 작성하려면 로그인이 필요합니다.