尝试更新我的数据库时出错:
SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败 (
@ApplicationScoped @ConditionalOnMissingBean(SomeService.class) public class SomeServiceDefaultImpl implements SomeService { @Override public String doSomeCalculation() { return "from default implementation"; } }
。symfony
,CONSTRAINT#sql-d8c_55
FOREIGN KEY (FK_957A6479A233CB39
)参考klient_id
(klient
))
我的班级用户:
id
类Klient
namespace AppBundle\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* Class User
* @package AppBundle\Entity
*
* @ORM\Table("fos_user")
* @ORM\Entity()
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Klient", inversedBy="users")
* @ORM\JoinColumn(nullable=false)
*/
private $klient;
/**
* @return mixed
*/
public function getKlient()
{
return $this->klient;
}
/**
* @param mixed $klient
*/
public function setKlient($klient)
{
$this->klient = $klient;
}
public function __construct()
{
parent::__construct();
}
}
答案 0 :(得分:0)
在我看来你有这个错误,因为你的数据库中已有数据。当您尝试在用户表上添加外键时,kcient_id为null。在您的定义中,您指定为nullable:false。
我建议你继续两次。
将您的注释编辑为可为空:true,更新您的数据库并将您的客户端链接到klient
将您的注释重新编辑为可为空:false,应该没问题