PostgreSQL插入不起作用

Posted

技术标签:

【中文标题】PostgreSQL插入不起作用【英文标题】:PostgreSQL insert not working 【发布时间】:2013-05-30 20:01:25 【问题描述】:

我正在尝试使用 Heroku/PGSQL 建立一个简单的数据库。到目前为止,我已经建立了连接并创建了我想要的表,但是每当我尝试将数据插入到表中时,什么都没有发生。

出于测试目的,我正在使用代码

$dbconn = pg_connect(pg_connection_string());
if (!$dbconn) 
   echo "Database connection error. ";

else 
// Create table
    $create="CREATE TABLE IF NOT EXISTS users (
        id INT PRIMARY KEY NOT NULL, 
        gender CHAR(30), 
        age INT, 
        location CHAR(30), 
        timestamp CHAR(30)
        )";

// Execute query
    if (pg_query($dbconn,$create))  
        echo "Table users created successfully. ";
    
    else  
        echo "Error creating table. ";
    


function insert() 
    $dbconn = pg_connect(pg_connection_string());
    if (!$dbconn) 
        echo "Database connection error 2. ";
    
    else 
        # Insert query
        $insert = "INSERT INTO users (id, gender, age, location, timestamp) VALUE (1234, 'male', 99, 'UK', '31/05/2013')";
        # Execute query
        if (pg_query($dbconn,$insert)) 
            echo "Data entered successfully. ";
        
        else 
            echo "Data entry unsuccessful. ";
        
    


运行时返回“表用户创建成功”。但是,当我调用$$insert$$ 函数(我稍后将使用它在表中插入不同的值)时,它总是返回不成功。

我做错了什么?

【问题讨论】:

【参考方案1】:
$insert = "INSERT INTO users (id, gender, age, location, timestamp)
VALUES (1234, 'male', 99, 'UK', '31/05/2013')";

也许你不应该使用 char 作为时间戳

【讨论】:

这只是一个建议,主要错误是我发布的 VALUES +1 你的回答不清楚,但你看到并解决了这个错误。 谢谢你 steven 和 eternay,你不知道我错过了这个有多愚蠢。我以其他线程为例进行了拖网搜索,但根本看不到它!再次感谢【参考方案2】:

在插入语句中,VALUE 应该是 VALUES。

无论如何,您应该尝试恢复数据库给出的错误消息。我认为这在 php 中是可能的。您将获得有关错误原因的更多信息。

【讨论】:

以上是关于PostgreSQL插入不起作用的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 时间点恢复不起作用

Postgresql 复合唯一键(LastName、FirstName、MiddleName)不起作用?

Postgresql:对 plpgsql 中的临时表执行更新不起作用

Postgresql 9.4:索引在模式搜索中不起作用

Postgresql DROP TABLE 不起作用

postgresql / 真空中的大量活/死元组不起作用