У меня есть база данных MS Access (невыносимо) и общаюсь с ней через PHP (ODBC).MS Access: Как вставить NULL в поле DateTime
Существует поле DateTime, которое я должен включить в оператор INSERT. Это поле НЕ определено как «Обязательно» в Access, что означает, что он действительно имеет NULL, и на самом деле некоторые из строк в базе данных Access уже имеют значение NULL.
Проблема, с которой я сталкиваюсь, проста: как вставить NULL через SQL? Все результаты, которые я нашел в Интернете, обратились к нему с чего-то вроде Visual Basic или C#, тогда как я использую SQL через ODBC в PHP.
Я уже пробовал следующее:
INSERT INTO table_name (datetime_field) VALUES (NULL)
INSERT INTO table_name (datetime_field) VALUES (#NULL#)
INSERT INTO table_name (datetime_field) VALUES ('NULL')
INSERT INTO table_name (datetime_field) VALUES ('#NULL#')
INSERT INTO table_name (datetime_field) VALUES ('')
(. Там же около 30 других столбцов в моем запросе)
Точная ошибка, я получаю «несоответствие типов данных в выражении критериев», когда я пытаюсь 'или NULL. Другие возвращают ошибку синтаксического анализа (понятно).
Обратите внимание, что я должен включить поле в оператор INSERT. Поле имеет значение по умолчанию, но во многих случаях исходные данные, которые я перевожу, имеют NULL, который также должен быть NULL в целевой базе данных.
Заранее благодарен!
все другие поля в таблице вы вставляете в Автоинкрементных или имеют значение по умолчанию назначены? Поскольку это единственный способ вставить один столбец данных и создать новую строку. –
Есть около 30 столбцов, ни одно из них не является автоматическим приращением, некоторые из них имеют значения по умолчанию, но все они находятся в самом запросе. – Teekin
ah ok, так что вы просто сравнили пример с одним столбцом? Вы пытались обновить строку и установить поле NULL, чтобы увидеть? –