推进不将单引号添加到MySql查询中的字段名称

Ama*_*nut 2 php mysql database orm propel

我有以下mysql表:

CREATE TABLE `content_segments`
(
    `id` INTEGER NOT NULL AUTO_INCREMENT,
    `include` TINYINT(1) NOT NULL,
    `dimension` VARCHAR(50) NOT NULL,
    `media_type` VARCHAR(50) NOT NULL,
    `match` VARCHAR(50) NOT NULL,
    `content` TEXT NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=MyISAM;
Run Code Online (Sandbox Code Playgroud)

问题是在MySQL中match字段是保留字,并且propel2不在字段名旁用单引号引起来,以在运行时(生成查询时)转义保留字。我想知道是否存在为什么要强制用单引号将所有表字段转义,以避免保留字错误。我得到的错误是这样的:

Unable to execute SELECT statement [SELECT id, include, dimension, media_type, match, content FROM content_segments WHERE id = :p0]
Run Code Online (Sandbox Code Playgroud)

Ama*_*nut 5

解决方案是在有关git仓库的问题讨论中。

我们已经更改了标识符引用的工作方式。您需要按数据库或表激活它:

<database ... identifierQuoting="true">
or
<table ... identifierQuoting="true">
Run Code Online (Sandbox Code Playgroud)

正如问题评论中所述,propel2 的相关propel问题为https://github.com/propelorm/Propel2/issues/781