( ! ) mysqli_sql_exception: Table 'dede_archives_log_list' already exists in D:\wamp64\www\uploads\include\common.func.php on line 26
时间: 2025-09-03 08:25:36 AIGC 浏览: 6
`mysqli_sql_exception: Table 'dede_archives_log_list' already exists` 错误表明在尝试创建 `dede_archives_log_list` 表时,该表已经存在于数据库中。可通过以下几种方法解决此问题:
### 检查创建表的逻辑
查看 `D:\wamp64\www\uploads\include\common.func.php` 文件第 26 行的代码,一般是创建表的 SQL 语句。示例代码可能如下:
```php
// 假设这是第26行的代码
$sql = "CREATE TABLE dede_archives_log_list (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
log_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
log_content TEXT
)";
if ($conn->query($sql) === TRUE) {
echo "Table created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
```
可在创建表之前,先检查该表是否存在,若不存在再创建。修改后的代码如下:
```php
// 检查表格是否存在
$checkTable = "SHOW TABLES LIKE 'dede_archives_log_list'";
$result = $conn->query($checkTable);
if ($result->num_rows == 0) {
// 表不存在,创建表
$sql = "CREATE TABLE dede_archives_log_list (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
log_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
log_content TEXT
)";
if ($conn->query($sql) === TRUE) {
echo "Table created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
} else {
// 表已存在,可选择跳过或进行其他操作
echo "Table already exists";
}
```
### 删除已存在的表(谨慎操作)
若确定不需要已存在的 `dede_archives_log_list` 表,可先删除该表,再重新执行创建表的操作。可使用以下 SQL 语句删除表:
```sql
DROP TABLE IF EXISTS dede_archives_log_list;
```
可在 phpMyAdmin 中执行该 SQL 语句,或在 PHP 代码中执行:
```php
$dropTable = "DROP TABLE IF EXISTS dede_archives_log_list";
if ($conn->query($dropTable) === TRUE) {
echo "Table dropped successfully";
// 然后再执行创建表的操作
$sql = "CREATE TABLE dede_archives_log_list (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
log_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
log_content TEXT
)";
if ($conn->query($sql) === TRUE) {
echo "Table created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
} else {
echo "Error dropping table: " . $conn->error;
}
```
阅读全文
相关推荐


















