小编kns*_*ely的帖子

在表名或列名中使用保留关键字时收到 Propel 语法错误

有没有办法让 Propel 在添加/更新行时自动转义作为保留字的列名?

现在我有一个名为“order”的列,当我尝试使用更新时

$row->setOrder(1)->save();
Run Code Online (Sandbox Code Playgroud)

我收到语法错误“PHP 致命错误:未捕获的异常 'PDOException',消息为 'SQLSTATE[42601]:语法错误:7 错误:“订单”处或附近的语法错误\nLINE 1:更新条款 SET order=$1 WHERE 条款。 id=$2\n ^'"

mysql postgresql propel syntax-error propel2

4
推荐指数
1
解决办法
351
查看次数

如果任何列在 PostgreSQL 全文搜索中没有数据,则 to_tsvector 为空

我正在尝试实现 Postgre SQL 全文搜索,但如果使用 to_tsvector 设置的任何列为空,我就会遇到整个文档返回空的问题。

我有一个如下所示的表:

id |   title   |   description   |
1  |   skis    |     my skis     |
2  |   bike    |                 | 
Run Code Online (Sandbox Code Playgroud)

我正在创建文档:

SELECT title, description,
setweight(to_tsvector(title), 'A'::"char") ||
setweight(to_tsvector(description), 'C'::"char")     
AS document
FROM inventory
Run Code Online (Sandbox Code Playgroud)

我希望看到的结果是:

title |  description  |  document  |
skis  |    my skis    |'ski':1A,3C |
bike  |               | 'bike':1A  | 
Run Code Online (Sandbox Code Playgroud)

但我实际得到的是:

title |  description  |  document  |
skis  |    my skis    |'ski':1A,3C |
bike  |               |            |
Run Code Online (Sandbox Code Playgroud)

这似乎是一个错误。在描述中添加任何单个字母或数字或任何内容可以使文档正确出现,但单列中的空值会导致整个文档为空。为什么需要描述才能搜索标题和描述?我误解了什么吗?

postgresql null search full-text-search tsvector

3
推荐指数
1
解决办法
1796
查看次数