SQL은 거의 알지 못하지만 SQL Server가 데이터베이스에 열을 추가하는 명령이없는 경우이 명령을 발견했습니다. 슬프게도 MySQL 데이터베이스에 대해 실행될 때 구문 오류가 반환되어 작동하지 않습니다.PDO를 사용하지 않는 경우 MySQL 열 추가
$query = $dbh->prepare("if not exists (select * from syscolumns where id=object_id(':table_name') and name='where') alter table :table_name add where int(2)");
if($query->execute(array(':table_name'=>'registrations'))) {
//twist and shout
} else {
print_r($query->errorInfo());
}
그렇다면 'int (2)'열이 존재하지 않는다면 어떻게 변경해야합니까?
왜 동적으로 열을 만들어야합니까? –
예약어 (예 : WHERE)를 열 이름으로 사용하지 마십시오. – Lunc
우수한 점, 나는 그 것을 더 안전하고 이해하기 쉬운 것으로 바꾸어야한다. 필자는 PHP 스크립트를 통해이 작업을 수행했습니다. 액세스 수준에 따라 데이터베이스 서버에 직접 액세스 할 수없는 유일한 방법이기 때문입니다. – shanethehat