当我尝试将列类型设置为datetime时,我收到此错误
/**
** @var \DateTime
*
* @ORM\Column(type="datetime")
*/
private $timestamp;
错误:
[Doctrine\DBAL\Exception\DriverException]
An exception occurred while executing 'ALTER TABLE fos_user CHANGE timestamp
timestamp DATETIME DEFAULT NULL':
SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: ''
for column 'timestamp' at row 1
答案 0 :(得分:1)
为所有记录设置NULL,其中timestamp =''然后再尝试更新一次。
您似乎已经拥有了时间戳列,并尝试将其迁移到' DATETIME DEFAULT NULL'。但由于某些记录的空字符串('')不是NULL或日期值,因此会引发错误。
答案 1 :(得分:0)
我在 Symfony 5+ 中遇到了同样的问题,这个对我有用
$this->addSql('ALTER TABLE _yourTableName ADD date DATE NULL DEFAULT NULL');
然后进行迁移。