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)
解决方案是在有关git仓库的问题讨论中。
我们已经更改了标识符引用的工作方式。您需要按数据库或表激活它:
<database ... identifierQuoting="true">
or
<table ... identifierQuoting="true">
Run Code Online (Sandbox Code Playgroud)
正如问题评论中所述,propel2 的相关propel问题为https://github.com/propelorm/Propel2/issues/781
| 归档时间: |
|
| 查看次数: |
619 次 |
| 最近记录: |