如何插入具有可空列的记录?
答案 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移至空指示符。