我要问的是在 MySQL 数据库中插入一行时是否需要包含为空的列。例如,当我使用 phpMyAdmin 插入一行时,它会执行以下操作:
INSERT INTO table
(
`col1`,
`col2`,
`col3`,
`col4`
)
VALUES
(
'value1',
NULL,
NULL,
'value2'
)
假设字段默认为空,我可以从插入语句中删除列和空值吗?
默认情况下,当您创建列时,它可以为空(除非您已NOT NULL
对其进行设置)。因此,当您只想为特定列插入记录时,您可以省略该列并且它的值是自动的null
。
INSERT INTO table (`col1` ,`col4`)
VALUES ('value1','value2')
你可以删除它们。
如果有默认值 - 你会得到它。
如果列名也被省略,是:将假定默认值1 。
1 NULL
通常是 - 但并非总是如此!- 可空列的默认值。必须参考模式来验证这个假设。