为了账号安全,请及时绑定邮箱和手机立即绑定

Entity table name 用到了预留关键字

@ORM\Table(name="order")
尝试着改成:
@ORM\Table(name="`order`")



还是不行,不知道是不是没有clear cache,还是update没成功,在网上找了一些方法,一直没成功,
请老师指导。

正在回答

4 回答

不管是什么理由,我都非常不建议使用关键字作为表名,虽然你可以通过一些特殊的语法绕过去,但不管将来实际操作数据库的时候还是牵涉到运维和后续开发,你任何对这个表的操作都要额外做这么一个处理,事实上是很麻烦的事情。


我给你出两个方案

  1. 改名叫orders

  2. 使用prefix table name,比如xxx_order这样,如果想在所有表上都实现prefix而不是一个一个改,具体做法可以参考:http://stackoverflow.com/questions/7504073/how-to-setup-table-prefix-in-symfony2

0 回复 有任何疑惑可以回复我~
#1

ArBen 提问者

thx!
2015-02-12 回复 有任何疑惑可以回复我~

补充一下,我是用:

doctrine:mapping:import

生成xml文件后,再用:

generate:doctrine:entities

生成的Entity文件,然后其中的一个table name=order

项目已存在的order表名,不好随便改名,所以我就想到一办法把Entity更改成:

@ORM\Table(name="`order`")

但错误提示还是显示order sql 语法错误,没有生效成`order`,

是要清缓存,还是怎么操作,我都尝试过几次,还是没有解决。求解?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Entity table name 用到了预留关键字

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信