Symfony-日期时间格式无效:1292日期时间值不正确:第1行的列'时间戳'''

时间:2017-08-20 16:42:05

标签: php mysql symfony datetime doctrine

当我尝试将列类型设置为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 

2 个答案:

答案 0 :(得分:1)

为所有记录设置NULL,其中timestamp =''然后再尝试更新一次。

您似乎已经拥有了时间戳列,并尝试将其迁移到' DATETIME DEFAULT NULL'。但由于某些记录的空字符串('')不是NULL或日期值,因此会引发错误。

答案 1 :(得分:0)

我在 Symfony 5+ 中遇到了同样的问题,这个对我有用

$this->addSql('ALTER TABLE _yourTableName ADD date DATE NULL DEFAULT NULL');

然后进行迁移。