2016-06-17 55 views
0

我正在學習symfony,我試圖應用在Doctrine章節的「創建數據庫表模式」部分中所解釋的內容。我運行下面的命令:Symfony Doctrine語法錯誤或訪問衝突:

php bin/console doctrine:schema:update --force --dump-sql 

我得到的錯誤:

在執行「CREATE TABLE VENTE \ produit(ID INT AUTO_INCREMENT [主義\ DBAL \異常\ SyntaxErrorException]發生
例外NOT NULL,nom VARCHAR(28)NOT NULL,prix DOUBLE INTERDB':SQLSTATE [42000]:語法錯誤或訪問 違規:1064您的SQL語法錯誤;檢查對應於您MariaDB的服務器版本的權利 語法使用附近的手動 '\ produit(ID INT AUTO_INCREMENT NOT NULL,NOM VARCHAR(28)NOT NULL,大獎賽DOUBLE',在1號線

                                    [Doctrine\DBAL\Driver\PDOException]         

SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤爲 ;請查看與您的 MariaDB服務器版本相對應的手冊,以獲得在'\ produit (id INT AUTO_INCREMENT NOT NULL,nom VARCHAR(28)NOT NULL,prix DOUBLE 'at line 1

                                    [PDOException]               

SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法中有一個 錯誤;檢查對應於您 MariaDB的服務器版本使用附近的正確語法手冊 '\ produit (ID INT AUTO_INCREMENT NOT NULL,NOM VARCHAR(28)NOT NULL,大獎賽DOUBLE ' 在行1

                  . 

如果我直接從mysql>提示符下運行轉儲,它創建的表正確 我的實體是這一個:

<?php 

namespace AppBundle\Entity\Vente; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Produit 
* 
* @ORM\Table(name="vente\produit") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\Vente\ProduitRepository") 
*/ 
class Produit 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="nom", type="string", length=28) 
    */ 
    private $nom; 

    /** 
    * @var float 
    * 
    * @ORM\Column(name="prix", type="float", nullable=true) 
    */ 
    private $prix; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="Descro", type="text") 
    */ 
    private $descro; 


    /** 
    * Get id 
    * 
    * @return int 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set nom 
    * 
    * @param string $nom 
    * 
    * @return Produit 
    */ 
    public function setNom($nom) 
    { 
     $this->nom = $nom; 

     return $this; 
    } 

    /** 
    * Get nom 
    * 
    * @return string 
    */ 
    public function getNom() 
    { 
     return $this->nom; 
    } 

    /** 
    * Set prix 
    * 
    * @param float $prix 
    * 
    * @return Produit 
    */ 
    public function setPrix($prix) 
    { 
     $this->prix = $prix; 

     return $this; 
    } 

    /** 
    * Get prix 
    * 
    * @return float 
    */ 
    public function getPrix() 
    { 
     return $this->prix; 
    } 

    /** 
    * Set descro 
    * 
    * @param string $descro 
    * 
    * @return Produit 
    */ 
    public function setDescro($descro) 
    { 
     $this->descro = $descro; 

     return $this; 
    } 

    /** 
    * Get descro 
    * 
    * @return string 
    */ 
    public function getDescro() 
    { 
     return $this->descro; 
    } 
} 

回答

0

事實上的麻煩是由於這樣的事實,我把實體的子文件夾「Vente」 「的appbundle /實體」。它產生了一個奇怪的表名Vente/Produit。 把它直接放在實體解決了麻煩。

相關問題