4

我试图通过 bash 读取文本文件来填充 SQL 表以传递给表。除了尝试将空值添加到日期时间字段之外,我一切正常。

mysql --host 10.100.10.19 --port 3306 -utest -ptest << EOF
INSERT INTO imaging.imagestatus (StatusDate, FileName, FolderName, Status, User, CaptureDate, Kind, Preview) VALUES ('2013-05-01T15:25:55', 'fileName1', 'folderName1', 'Status1', 'User1', 'NULL', 'kind1', 'preview1');
EOF

我不断得到:

ERROR 1292 (22007) at line 1: Incorrect datetime value: 'NULL' for column 'CaptureDate' at row 1

对于标记为“NULL”的值,它是表中的数据类型日期时间。我尝试了组合'\N'、'\N'、'NULL'、'null'和''

我开始使用临时日期:00-00-00 00:00:00,但我希望它匹配其他空条目格式或表中的空白。谢谢您的帮助!

ANSWER-- 如已实施

拉入的文本文件名“NULL”中的值可以与 a=NULL 之类的变量交换,以获得日期时间输入的正确 NULL 值。

4

1 回答 1

8

如果您使用引号,那么您是说您希望日期为字符串“NULL”。您是否尝试仅使用 NULL?

INSERT INTO imaging.imagestatus (StatusDate, FileName, FolderName, Status, User, CaptureDate, Kind, Preview) 
VALUES ('2013-05-01T15:25:55', 'fileName1', 'folderName1', 'Status1', 'User1', NULL, 'kind1', 'preview1');
于 2013-05-03T19:14:00.253 回答