修复列“columnname”在数据库中不存在pgsql。双引号vs单引号错误

时间:2013-06-15 13:08:32

标签: postgresql insert double-quotes

我有一个表格评论(movie_id,user_id,reviewtext,日期,时间,喜欢,状态)/ 我收到了错误

column "exist" does not exist LINE 1: INSERT INTO review values ($1, $2, $3,$4,$5 ,0,"exist") ^ )

当我想将值插入postgresql数据库时。我不能再修改代码,所以有没有办法通过改变数据库来增加列来实现这项工作?

要插入的代码如下:

 $query = $this->db->prepare('INSERT INTO review values (:movieid, :userid, :review,:date,:time ,0,"exist")');
 $result = $query->execute(Array(':movieid' => $movieid, ':userid' => $userid, ':review' => $review, ':date' => $date, ':time' => $time));

我知道解决这个问题的方法是使用单引号作为列'status',但我唯一能做的就是改变数据库。

1 个答案:

答案 0 :(得分:1)

不,你不能。

如果您使用了正确的插入 - 使用命名列:

insert into review (column1, column2, column3) values (....)

那么理论上可以通过添加“存在”列和触发器来实现。但这远远不是一个理智的解决方案非常