我正在使用mysql wb中的Inserts选项卡。如果我没有指定任何值,它只会在导出时插入NULL而不是值。
INSERT INTO foo(foo1, foo2, foo3) VALUES (NULL, "concrete", NULL)
相反它应该使用未指定的默认值,是否可以使用workbench?
INSERT INTO foo(foo2) VALUES ("concrete")
或
INSERT INTO foo(foo1, foo2, foo3) VALUES (default1, "concrete", default3)
答案 0 :(得分:2)
在MySQL中,您可以使用DEFAULT
关键字。正如documentation:
使用关键字DEFAULT将列显式设置为其默认值 值。这使得编写分配的INSERT语句变得更容易 除了几列之外的所有值,因为它可以让您避免 写一个不包含值的不完整的VALUES列表 表格中的每一列。否则,你必须写出来 与VALUES列表中的每个值对应的列名列表。
您也可以使用DEFAULT(col_name)作为更通用的表单 在表达式中用于生成给定列的默认值。
所以,试试这个:
INSERT INTO foo(foo1, foo2, foo3)
VALUES (DEFAULT, 'concrete', DEFAULT);