【发布时间】:2023-03-08 15:17:01
【问题描述】:
我正在使用 VBA 将一些值作为行写入 MySQL 表。但是,对于某些列,我想将它们留空,以便数据库可以采用默认值 NULL。
我需要在我的 SQL 查询中指定所有列值。我可以这样写吗(两个连续的逗号代表一个空白列):
SQLStr = "insert into table tablename values (12,13,19,,,,,1,,2,,5)"
【问题讨论】:
我正在使用 VBA 将一些值作为行写入 MySQL 表。但是,对于某些列,我想将它们留空,以便数据库可以采用默认值 NULL。
我需要在我的 SQL 查询中指定所有列值。我可以这样写吗(两个连续的逗号代表一个空白列):
SQLStr = "insert into table tablename values (12,13,19,,,,,1,,2,,5)"
【问题讨论】:
你使用NULL:
insert into table tablename
values (12, 13, 19, NULL, NULL, NULL, NULL, 1, NULL, 2, NULL, 5);
如果列是字符串,您也可以使用'',“空白”表示“空字符串”。
我应该添加 . . .您应该始终列出要插入的列,因此最好将其写为:
insert into table tablename(col1, col2, col3, col8, col10, col12)
values (12, 13, 19, 1, 2, 5);
(您没有指定列名是什么。)
默认情况下,SQL 会为缺失的列添加NULL 值——这可以防止(使用NOT NULL)或使用其他值(使用DEFAULT)。
【讨论】: