如何插入具有可空列的记录?

时间:2009-08-12 17:54:39

标签: sql

如何插入具有可空列的记录?

4 个答案:

答案 0 :(得分:8)

从insert语句中省略该列,或将其设置为NULL

答案 1 :(得分:5)

如果column2为null

insert into table(column1, column3) values (1, 3)

或只是包含它

insert into table(column1, column2, column3) values (1, null, 3)

答案 2 :(得分:3)

始终为INSERT中的所有列命名。如果表架构发生更改,则INSERT更可能不会中断或出错。因此,只需将NULL置于:

INSERT INTO YourTable (col1, col2, col2) VALUES (1, null, 'A')

修改
有很多方法可以解决问题,这里只是模式更改如何破坏编码不良的INSERT的一个例子:

YourTable
col1  int      not null
col2  int      null
col3  char(1)  null

你在几个地方编码:

INSERT INTO YourTable VALUES (1, null, 'A')
--OR this                             ---<<<<EDIT2
INSERT INTO YourTable VALUES (1, 'A') ---<<<<EDIT2

您将表格更改为:

YourTable
col1  int      not null
col1a int      null  default(0)
col2  int      null
col3  char(1)  null

您的代码会发生什么?什么值在哪些列中?

如果你用这种方式编码

INSERT INTO YourTable (col1, col2, col2) VALUES (1, null, 'A')

它仍然可以使用

答案 3 :(得分:0)

你们让我思考:将-1移至空指示符,要插入有效值,请将0移至空指示符。