2011-03-18 247 views
0

如果某些列是空的,是否可以插入MySQL行?mysql插入问题

+3

请提出一个intelligle问题 – Patrick 2011-03-18 15:28:24

+0

我冒昧编辑你的问题,试图让它更容易理解,如果这不是你所要求的,可以随时重新编辑。祝你好运。 – Trufa 2011-03-18 15:37:17

回答

0

是的,它是可能的,如果他们不声明为NOT NULL

+0

如果您在该列上设置了默认值,则甚至可以在允许NULL的列上进行操作! – 2011-03-18 15:57:28

+0

@Felix:是的,我知道这就是为什么我只写了'NOT NULL' – 2011-03-18 16:03:09

0

让我们做一个例子:

people表(带主键ID列设置为自动增量):

ID NAME AGE 
== ==== === 
1  John 24 
2  Jill 23 

如果您希望插入新记录但不知道某个人的年龄,则可以发出以下查询:

INSERT INTO people 
(NAME) 
VALUES ('Jack'); 

这将导致:

ID NAME AGE 
== ==== === 
1  John 24 
2  Jill 23 
3  Jack 

这里的要求是列要么接受空值,或指定一个默认值。如果AGEINT NULL,那么插入将工作,并且杰克的年龄将不存储任何值。

另外,您可以指定该AGE列有一个默认值,但这很可能是更适合于像SCORE一个字段,它承担了新的条目将一些值(零)开始。