Доктрина не вставляет Datetime в SQL Server - PullRequest
0 голосов
/ 30 октября 2009

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 Manager) также не работает, есть ли способ заставить SQL Server правильно принимать эти строки? я читал, что он их поддерживает.

1 Ответ

2 голосов
/ 30 октября 2009

Вам нужно указать строку даты.

INSERT INTO [vbif_inventarios] ([anulado], [id_restaurante], [fecha_inventario]) VALUES (?, ?, ?) - (0, 1, '2009-10-29 06:06:00' ) 
...