1
我知道的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)'這個列'如果它不存在?
爲什麼你需要動態創建一個列? – 2011-03-30 18:37:13
您應該避免使用保留字(如WHERE)作爲列名。 – Lunc 2011-03-30 18:41:18
優秀的一點,我需要改變,以更安全,更具描述性。我通過一個PHP腳本來做到這一點,因爲它是我知道如何訪問我的訪問級別的唯一方式,我無法直接訪問數據庫服務器。 – shanethehat 2011-03-30 19:48:41