表已存在。检查表名是否重复。
你的PHP应用在使用PDO执行CREATE TABLE语句时遇到了表已存在的错误:
'pdo_code' => '42S01',
'db_code' => 1050,
'db_error' => 'Table 'table_name' already exists'
$sql = "CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;";
try {
$pdo->exec($sql);
echo "表创建成功或已存在";
} catch (PDOException $e) {
echo "错误: " . $e->getMessage();
}
function tableExists($pdo, $tableName) {
try {
$result = $pdo->query("SELECT 1 FROM `{$tableName}` LIMIT 1");
return $result !== false;
} catch (PDOException $e) {
return false;
}
}
$tableName = 'users';
if (!tableExists($pdo, $tableName)) {
$pdo->exec($sql);
}