问题标签 [column-defaults]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9785 浏览

sql-server - FluentNHibernate - 为 DB 列设置默认值 (SQL Server)

有谁知道我可以如何通过映射列的默认值来设置,例如,当我从映射生成数据库时,我会让 DateTime 列将 getdate() 作为默认值?

到目前为止我试过这个(看起来完全像我需要的)但它不起作用

0 投票
1 回答
311 浏览

mysql - 用于为 SQL Server 中未指定默认值的非列生成默认值的脚本

我有一个要迁移到 SQL Server 的 MySQL 数据库。当我针对 SQL Server 运行引用数据库的应用程序时,它会中断,因为 SQL Server 不提供 MySQL 提供的隐式默认值。

我想看看是否有一种方法可以生成脚本,该脚本会强制所有未指定默认值的 NOT Null 列使用默认值。这样我可以使用 SQL Server 中的显式默认值来模仿 MySQL 的隐式默认值

0 投票
10 回答
8732 浏览

sql - 数据库表应该有默认值吗?

我正在与一名开发人员讨论表是否应使用默认值的问题。对此是否有硬性规定,还是最佳实践中的灰色地带?

0 投票
4 回答
1935 浏览

sql - 有没有办法在 INSERT..SELECT 语句中有条件地使用默认列值?

我在将行插入表中的存储过程中有类似于以下的代码,我想将最后一列(FieldD)设置为@prmSomeValue,除非它为空,否则只需使用为此定义的默认值柱子。

这可行,但违反了 DRY 原则。我正在尝试使用单个插入语句找到一些方法来做到这一点。类似于以下伪代码的内容。

有人有想法么?

更新 - 另一个转折
默认约束不是文字值,而是如下所示的函数。

更新
我终于下注并选择了较小的弊端,只是将默认值函数复制到我的查询中,而不是使用为列配置的默认值。我不喜欢它,但它可以在我的查询中减少重复次数。

0 投票
1 回答
134 浏览

ruby - ActiveRecord 显示错误的列默认值

这是我第一次在非 Rails 应用程序中使用 ActiveRecord,我遇到了问题。ActiveRecord 能够找出我的 sqlite3 数据库中的列,但由于某种原因它无法找出默认列值。

这是相关表的 sql 描述。

我使用以下代码加载我的数据库文件。

当我使用 REPL 查看 Account 表的列默认值时,我得到的是:

我之前曾为 Rails 应用程序使用过 ActiveRecord,它足够聪明,可以找出默认值。由于某种原因,它现在无法弄清楚它们。

我在这里做错了吗?我读到我可以手动指定默认值default :id => bla,但 ActiveRecord 不应该能够找出默认值吗?


更新:我想我想出了一个解决方法。返回的哈希Account.column_defaults是可写的,并且更改这些元素似乎工作正常。

0 投票
1 回答
1653 浏览

postgresql - 更改表添加列默认值并为每一行执行默认值

我正在制作一个函数,它将一个 id 列添加到给定的表中,创建一个序列并填充新的列值。问题是该列已创建,但现在我需要用nextval()创建的序列(1、2、3、4、5 ...)填充它。我不知道如何在添加列语句中指定它。

0 投票
1 回答
660 浏览

sql - 如何在 where 子句中使用列默认值来识别默认值

我正在尝试编写一个查询来判断表中命名的列s是否a.t具有其默认值(这是一个非常大的 base64 字符串)。所以我尝试了:

哪个不起作用,所以我注意到结果中information_schema.columns有一些常规查询没有的东西:

比。

请注意缺少引号和明确的演员表。
这就是不匹配的原因吗?列s定义为 type text
如何更改查询,以便测试列值与其默认值之间的相等性?

0 投票
1 回答
773 浏览

database - 当 BEFORE 触发器取消语句时,INSERT ...RETURNING .. 为空

我在创建插入触发器之前有一个 PostgreSQL,它基本上将插入重定向到子表中。插入记录后,我想中止请求以避免重复数据(通过不插入父表),因此我在触发器中使用 return NULL。问题是我需要返回记录,以便获取 ID。如果我返回 NULL,我会得到 NULL。

上面的问题在下面的链接中讨论: PostgreSQL trigger not return anything

答案之一是插入父表(通过不返回 null 而是返回新的)并使用 AFTER insert 触发器将其从父表中删除。但是我正在查看每秒 1000 次写入,由于删除,这可能是一个严重的性能问题。还有其他方法可以做到这一点吗?

确切地说,有一种方法可以返回插入行的 id,而无需插入父表并稍后将其删除。

0 投票
1 回答
1015 浏览

grails - Grails 2.2.4: creating a column default value in MySQL 5.5

I followed the instructions that I found many places online for how, for a Grails 2.2.4 domain object property, to create a default value on its corresponding MySQL 5.5 column.

Unfortunately, the columns that are supposed to have a default value do not have a default value applied to their MySQL columns.

Below are the relevant extracts from my domain object code. Is anything wrong?:

0 投票
1 回答
4324 浏览

postgresql - 在 Postgres 中重命名 nextval('...')

我有一个名为的表pivot_device_user,并且在 id 上有一个序列为not null default nextval('pivot_device_user_id_seq'::regclass).

然后我决定将我的表重命名为pivot_box_user,但nextval(...)仍然是nextval('pivot_device_user_id_seq'::regclass)

我想把它改成nextval('pivot_box_user_id_seq'::regclass). 我该怎么做呢?