gpt4 book ai didi

php - 执行“ALTER TABLE”时发生异常

转载 作者:行者123 更新时间:2023-11-29 17:54:08 26 4
gpt4 key购买 nike

我在多对多关联方面遇到问题我有 2 个实体,其中一个名为用户

/**
* @ManyToMany(targetEntity="DataSiteBundle\Entity\Site", mappedBy="user")
* @ORM\JoinColumn(
* name="id_site",
* referencedColumnName="id_site",
* nullable=false,
* onDelete="CASCADE"
* )
*/
private $site;

另一个名为站点

/**
* @Groups({"site-read","site-write"})
* @ORM\ManyToMany(targetEntity="UserBundle\Entity\User" , inversedBy="site")
* @ORM\JoinColumn(
* name="id_user",
* referencedColumnName="id_user",
* nullable=false,
* onDelete="CASCADE"
* )
*
*/
private $user;

当我尝试执行doctrine:schema:update --force

我得到了这个在 AbstractMySQLDriver.php 第 121 行:

An exception occurred while executing 'ALTER TABLE site_user ADD CONSTRAINT FK_B6096BB0F6BD1646 FOREIGN KEY (site_id) REFERENCES sp_site (id) ON DELETE CASCADE':

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint

最佳答案

您的问题是有一个表具有现有约束。我认为有两种解决方案

如果你在开发中,你可以重建你的数据库

php bin/console doctrine:database:drop --force
php bin/console doctrine:database:create
php bin/console doctrine:schema:update --force

如果你在生产中,我认为你需要制作一个脚本来获取数据,保存在某个地方,删除表并重新制作它,或者在sql中创建一个脚本来跳过这个问题

关于php - 执行“ALTER TABLE”时发生异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49013508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com