我正在使用 VBA 将一些值作为行写入 MySQL 表。但是,对于某些列,我想将它们留空,以便数据库可以采用默认值 NULL。
我需要在 SQL 查询中指定所有列值。我可以写这样的东西(两个连续的逗号代表一个空白列):
SQLStr = "insert into table tablename values (12,13,19,,,,,1,,2,,5)"
Run Code Online (Sandbox Code Playgroud)
你用NULL:
insert into table tablename
values (12, 13, 19, NULL, NULL, NULL, NULL, 1, NULL, 2, NULL, 5);
Run Code Online (Sandbox Code Playgroud)
''如果该列是字符串,并且“空白”表示“空字符串”,则也可以使用。
我应该补充一下。。。您应该始终列出要插入的列,因此最好将其写为:
insert into table tablename(col1, col2, col3, col8, col10, col12)
values (12, 13, 19, 1, 2, 5);
Run Code Online (Sandbox Code Playgroud)
(您没有指定列名称。)
默认情况下,SQL 将为NULL缺失的列放入值——这可以防止(使用NOT NULL)或使用另一个值(使用DEFAULT)。