0

Doctrine ORM 1.0 以 ISO8601 格式插入日期时间值;即:'2009-10-23 12:31:22',但由于某种原因使用 SQL Server 2008 Express 作为我的数据库,引发异常,就好像插入的值为 NULL。这是查询:

{sfDoctrineLogger} executeQuery : INSERT INTO [vbif_inventarios] ([anulado], [id_restaurante], [fecha_inventario]) VALUES (?, ?, ?) - (0, 1, 2009-10-29 06:06:00 )

[fecha_inventario] 列是 DATETIME 列。

这给了我:

[err] {Doctrine_Connection_Mssql_Exception} SQLSTATE[HY000]: General error: 10007 No se puede insertar el valor NULL en la columna 'fecha_inventario', tabla 'vbif_operativo.dbo.vbif_inventarios'. La columna no admite valores NULL. Error de INSERT. [10007] (severity 5) [(null)]

尝试在日期字段(通过 SQL 管理器的查询)列中手动插入相同的字符串也不起作用,有没有办法让 SQL Server 正确接受这些字符串?我读过它确实支持它们。

4

1 回答 1

2

您需要引用日期字符串。

INSERT INTO [vbif_inventarios] ([anulado], [id_restaurante], [fecha_inventario]) VALUES (?, ?, ?) - (0, 1, '2009-10-29 06:06:00' ) 
于 2009-10-30T15:14:27.237 回答