【发布时间】:2014-06-26 11:14:48
【问题描述】:
我尝试通过执行下面的 createTables 函数在我的 PostgreSQL 数据表中创建一个简单的表:
public function createTables() {
try {
$db = new PDO('pgsql:host='.$this->PARAM_hote.';port='.$this->PARAM_port.';dbname='.$this->PARAM_nom_bd.';user='.$this->PARAM_utilisateur.';password='.$this->PARAM_mot_passe);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql ='CREATE TABLE IF NOT EXISTS test (id INT(11) AUTO_INCREMENT PRIMARY KEY, prename VARCHAR(50) NOT NULL);';
$db->exec($sql);
} catch(PDOException $e) {
echo $e->getMessage();
}
}
但我还有:
testSQLSTATE[42601]: Syntax error: 7 ERREUR: erreur de syntaxe sur ou près de « ( » LINE 1: CREATE TABLE IF NOT EXISTS test (id INT(11) AUTO_INCREMENT P... ^
我不知道为什么?...
感谢您的帮助
【问题讨论】:
-
天哪,本地化的错误信息很糟糕:P
-
您正在使用 MySQL 语法。不要指望它能在 PostgreSQL 中工作。
标签: php postgresql pdo