sql 只向一个有 10 个字段的表中插入两个值

Posted

技术标签:

【中文标题】sql 只向一个有 10 个字段的表中插入两个值【英文标题】:sql insert only two values into a table with 10 fields 【发布时间】:2014-05-22 23:54:27 【问题描述】:

我的表有 10 个字段:field1、field2、...、field10

现在假设我只想将值插入前两列,然后将 '' 放在其余列上。

我正在使用

     insert into table1 values
  (100,200,'','','','','','','','','','')

我想知道是否有更好的方法来避免 ,'','','','' ?

感谢您的建议!

【问题讨论】:

【参考方案1】:

是的,只需像这样指定要添加的字段:

insert into table1 (field1, field2) VALUES (100,200)

在这种情况下,field1 将插入 100,field2 将插入 200。

您表中的其他字段将为空,因此您需要确保这是允许的。

编辑:

在 cmets 中,@andreas 是正确的 - 您未指定的任何字段都将被赋予其默认值(可能为 null)

【讨论】:

提供解释比提供结果代码更重要。 Cannot insert the value NULL into column 我得到了这个错误,我猜是因为我的列不允许空值? 它们应该有一个默认值——不必为空。 @user3344443 所以你不允许 NULL 但你允许一个空白空间?如果您认为这些相同,则应该选择其中之一。 是的,我允许'',我想我需要先设置默认('')?

以上是关于sql 只向一个有 10 个字段的表中插入两个值的主要内容,如果未能解决你的问题,请参考以下文章

从一个连接到另一个表 SQL 的表中删除记录

如何从1个表中选择许多行并将其插入另一个表中特定行的特定JSONB字段中?但是在单个原始SQL查询中

在SQL SERVER 的表中,插入新的字段

怎样在SQL server 2005 的表中插入图片字段为无效值怎么办

如何在 SQL 服务器中将数据插入到两个不同的表中,同时在 SQL 中具有 ORDER# 主键

SQL Server 无法插入启用触发器的表中