我可以通过在MySQL中为每个表写一个查询来改变表。
ALTER TABLE `nom_table` ADD `images` VARCHAR(255) NULL AFTER `link`
但是当我在单行编写许多alter语句时,Mysql在语法中显示错误。
ALTER TABLE `nom_table` ADD `data1` VARCHAR(255) NULL AFTER `link`
ALTER TABLE `nom_table` ADD `data2` VARCHAR(255) NULL AFTER `link`
我必须多次在PHP中执行此操作,因此如果我运行许多alter语句的单个查询,那么服务器的负载将会非常少。
任何解决方案?
答案 0 :(得分:2)
你可以写:
ALTER TABLE `nom_table`
ADD `data1` VARCHAR(255) NULL AFTER `link`,
ADD `data2` VARCHAR(255) NULL AFTER `link`;
但是,您无法更改单个查询中的不同表格。
答案 1 :(得分:0)
这对我有用......
$ContentTables
Array
(
[11] => Array
(
[db_table] => Content_Tips
[label2] => Tip
)
/* .... same for 11 more tables... */
foreach ($ContentTables as $table => $values ) {
$thisTable = $values['db_table'];
$addColumns = mysql_query("
ALTER TABLE $thisTable
ADD `ranking` INT(3) AFTER `edit_date`,
ADD `frequency` INT(3) AFTER `ranking` ")
or die( 'Opps...something wrong in the backroom....'.$thisTable.'...1'.mysql_error());
if ($addColumns) { echo $thisTable.' has been altered...<br/>'; }
}