【发布时间】:2017-12-05 16:40:03
【问题描述】:
我有一个名为cardb 的数据库,它由一个制造一些汽车的SQL 文件填充。他们的 ID 从 1 到 30。当我尝试创建新 Car 时,它第一次工作并创建了一个 id 为 0 的汽车,然后当它再次尝试这样做时,它再次尝试使用 0 进行条目。
这是错误
使用参数 ["fock", "fock", 320] 执行 'INSERT INTO cars (Make, Model, TravelledDistance) VALUES (?, ?, ?)' 时发生异常:
SQLSTATE[23000]:违反完整性约束:1062 键“PRIMARY”的重复条目“0”
这是我的实体
/**
* Cars
*
* @ORM\Table(name="cars")
* @ORM\Entity(repositoryClass="AppBundle\Repository\CarsRepository")
*/
class Cars
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="Make", type="string", length=255)
*/
private $make;
/**
* @var string
*
* @ORM\Column(name="Model", type="string", length=255)
*/
private $model;
/**
* @var int
*
* @ORM\Column(name="TravelledDistance", type="bigint")
*/
private $travelledDistance;
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Parts", inversedBy="cars")
* @ORM\JoinTable(
* name="PartCars",
* joinColumns={
* @ORM\JoinColumn(name="Part_Id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="Car_Id", referencedColumnName="id")
* })
*/
private $parts;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set make
*
* @param string $make
*
* @return Cars
*/
public function setMake($make)
{
$this->make = $make;
return $this;
}
/**
* Get make
*
* @return string
*/
public function getMake()
{
return $this->make;
}
/**
* Set model
*
* @param string $model
*
* @return Cars
*/
public function setModel($model)
{
$this->model = $model;
return $this;
}
/**
* Get model
*
* @return string
*/
public function getModel()
{
return $this->model;
}
/**
* Set travelledDistance
*
* @param integer $travelledDistance
*
* @return Cars
*/
public function setTravelledDistance($travelledDistance)
{
$this->travelledDistance = $travelledDistance;
return $this;
}
/**
* Get travelledDistance
*
* @return int
*/
public function getTravelledDistance()
{
return $this->travelledDistance;
}
/**
* @return mixed
*/
public function getParts()
{
return $this->parts;
}
}
它是自动生成的实体,具有自动增量注释。
可能是什么问题?
【问题讨论】:
-
检查表 cars 列 id 是否确实是使用 AUTO_INCREMENT 选项生成的...
SHOW CREATE TABLE cars