我在下面有一个代码,它将名为"age"
的列添加到名为"us@house"
的表中。
$table = 'us@house';
$column = 'age';
$sql = $DB_CON_C->query("ALTER TABLE `".$table."` ADD $column VARCHAR(255) NOT NULL AFTER id");
$sql->execute();
此代码适合我。但是,在我的数据库中,我有多个表(大约20个表,每个表的名称都有" @"正如我在代码中看到的那样)我需要添加相同的列"年龄"他们每个人。有谁知道如何使用通配符更改现有代码以实现此目的?提前谢谢!
答案 0 :(得分:0)
使用通配符无法实现此目的。您可以做的是编写一个存储过程,枚举与您的格式匹配的所有表并执行必要的更改。或者,您可以通过PHP运行多个查询,如下所示:
$tab_prefixes = array('a', 'b', 'c');
$tab_suffix = '@house';
foreach ($tab_prefixes as $tab_prefix)
{
$sql = $DB_CON_C->query("ALTER TABLE `".$tab_prefix.$tab_suffix."` ADD age VARCHAR(255) NOT NULL AFTER id");
$sql->execute();
}