我一直试图找出为什么在使用php向mysql数据库添加列时出现重复的列错误,但这让我感到困惑。
$sql = "SHOW TABLES from $tbl_name";
$result = $conn2->query($sql);
if ($result->num_rows > 0) {
$i = 0;
while($row = $result->fetch_array()) {
$test = $row[$i];
$sql2 = "ALTER TABLE $test ADD COLUMN abc VARCHAR( 255 )";
$result2 = $conn2->query($sql2);
if ($conn2->query($sql2) === TRUE) {} else {echo "Error: " . $sql2 . "<br>" . $conn2->error;}
}
}
此代码可以工作并为每个表添加一列,但是它会产生如下错误输出:
Duplicate column name 'abc'Error: ALTER TABLE hyft ADD COLUMN abc VARCHAR( 255 )
Duplicate column name 'abc'Error: ALTER TABLE ibgk ADD COLUMN abc VARCHAR( 255 )
Duplicate column name 'abc'Error: ALTER TABLE ihrd ADD COLUMN abc VARCHAR( 255 )
Duplicate column name 'abc'Error: ALTER TABLE imc ADD COLUMN abc VARCHAR( 255 )
Duplicate column name 'abc'Error: ALTER TABLE intn ADD COLUMN abc VARCHAR( 255 )
所以我的问题是为什么它认为有重复的列以及如何避免这种情况?