Symfony2抛出学说异常"检查与您的MySQL服务器版本对应的手册,以便在'group'附近使用正确的语法"

Mas*_*our 0 php symfony doctrine-orm

我正在研究一个symfony项目,我尝试使用实体向数据库添加数据,但是我得到了一个Doctrine sql错误?!!!! 所以任何帮助都是先进的

我创建了一个实体myselft,它是:

/**
 * @ORM\Table(name="u001_user_group")
 * @ORM\Entity
 */
 class UserGroup 
 {       
    /**
     * @var integer
     *
     * @ORM\Column(name="group", type="integer", length=20, nullable=false)
     */
    private $group;

    public function setGroup($group)
    {
        $this->group = $group;

        return $this;
    }

    public function getGroup()
    {
        return $this->group;
    }
}       
Run Code Online (Sandbox Code Playgroud)

当我尝试添加这样的东西时:

$UserGroup= new UserGroup();
            $UserGroup->setUser($registerAction->getId());
            $UserGroup->setGroup(4);
            $em->persist($UserGroup);
            $em->flush();
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

使用params [20,4]执行'INSERT INTO u001_user_group(user,group)VALUES(?,?)'时发生异常:

SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'group)VALUES(20,4)附近使用正确的语法

Dar*_*ght 7

什么@nifr说.

只是添加,如果你绝对需要使用,group你可以使用反引号来逃避它,如下所示:

/**
 * @var integer
 *
 * @ORM\Column(name="`group`", type="integer", length=20, nullable=false)
 */
private $group;
Run Code Online (Sandbox Code Playgroud)

但一般来说,避免使用保留词是一种好习惯.