标签: default-value

Postgres 中 UUID 列的默认值

Postgres 9.x 中,对于类型为 的列UUID,如何指定要自动生成的 UUID 作为任何行插入的默认值?

postgresql default-value uuid

96
推荐指数
3
解决办法
15万
查看次数

如何在 PostgreSQL 的 Select 查询中使用默认值?

如果没有返回行,我想为应该使用的列使用默认值。这在 PostgreSQL 中可能吗?我该怎么做?或者我还有其他方法可以解决这个问题吗?

例如这样的事情:

SELECT MAX(post_id) AS max_id DEFAULT 0 FROM my_table WHERE org_id = 3
Run Code Online (Sandbox Code Playgroud)

如果org_id = 3表中没有行,我想返回0

postgresql aggregate select default-value

43
推荐指数
3
解决办法
12万
查看次数

在 MySQL 5.5 中不能将日期默认为 CURRENT_TIMESTAMP

我无法设置Current_timestamp为默认值。我的Mysql版本是5.5.47.

查询是

ALTER TABLE `downloads` ADD `date` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

虽然它在我的本地数据库上使用mysql V5.6.56.

timestamp default-value mysql-5.5 date

24
推荐指数
2
解决办法
17万
查看次数

默认约束,值得吗?

我通常按​​照以下规则设计我的数据库:

  • 除了 db_owner 和 sysadmin 之外,没有其他人可以访问数据库表。
  • 用户角色在应用层控制。我通常使用一个 db 角色来授予对视图、存储过程和函数的访问权限,但在某些情况下,我添加了第二条规则来保护一些存储过程。
  • 我使用 TRIGGERS 来初步验证关键信息。

CREATE TRIGGER <TriggerName>
ON <MyTable>
[BEFORE | AFTER] INSERT
AS
    IF EXISTS (SELECT 1 
               FROM   inserted
               WHERE  Field1 <> <some_initial_value>
               OR     Field2 <> <other_initial_value>)
    BEGIN
        UPDATE MyTable
        SET    Field1 = <some_initial_value>,  
               Field2 = <other_initial_value>  
        ...  
    END
Run Code Online (Sandbox Code Playgroud)
  • DML 使用存储过程执行:

sp_MyTable_Insert(@Field1, @Field2, @Field3, ...);
sp_MyTable_Delete(@Key1, @Key2, ...);
sp_MyTable_Update(@Key1, @Key2, @Field3, ...);
Run Code Online (Sandbox Code Playgroud)

您认为,在这种情况下,使用 DEFAULT CONSTRAINT 是否值得,或者我正在向数据库服务器添加额外且不必要的工作?

更新

我知道通过使用 DEFAULT 约束,我向必须管理数据库的其他人提供了更多信息。但我最感兴趣的是性能。

我假设数据库总是检查默认值,即使我提供了正确的值,因此我做了两次相同的工作。

例如,有没有办法在触发器执行中避免 DEFAULT 约束?

performance database-design sql-server t-sql default-value query-performance

20
推荐指数
2
解决办法
4415
查看次数

为什么我不能使用 NEWSEQUENTIALID() 作为我的列的默认值?

我正在尝试在 Management Studio 中创建一个表,在阅读了新的(从 SQL 2005 开始)NEWSEQUENTIALID()函数后,我想试一试。

这就是我正在做的:

在此处输入图片说明

但它不让我。我得到的错误信息是:

'FormTemplate (Forms)' table - Error validating the default for column 'FormTemplateId'.
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一个技巧吗?我肯定在运行 SQL Server 2008 R2。

sql-server-2008 database-design ssms default-value

19
推荐指数
2
解决办法
3535
查看次数

有没有办法将多行插入到表中,所有列都有默认值?

我可以通过RBAR方式将多行插入到一个表中,所有列的默认值:

create table course(course_id serial primary key);

do $$
begin
  for i in 1..100000 loop
    insert into course default values;
  end loop;
end;$$;
Run Code Online (Sandbox Code Playgroud)

有没有办法用单个 SQL 语句做同样的事情?

postgresql default-value postgresql-9.4

16
推荐指数
2
解决办法
2万
查看次数

将 DEFAULT 添加到现有列

在 Microsoft SQL 服务器中,如何使用 T-SQL 添加/更改现有表列的默认值?

sql-server-2008 sql-server default-value ddl

12
推荐指数
1
解决办法
4万
查看次数

如何使用默认值随机字符串在数据库中创建列

我可以在 DB 表 (PostgreSQL) 中创建具有默认值随机字符串的列,以及如何创建?

如果不可能,请告诉我。

postgresql random default-value

12
推荐指数
2
解决办法
2万
查看次数

SQL 为列设置允许值

我想创建一个ALTER TABLE添加新列并设置默认值的表达式,并另外定义该列的允许值。这是一个文本列,允许的应该只有“value1”、“value2”和“value3”。默认应为“value1”

根据以下语法图:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

我快到了

ALTER TABLE exampleTable ADD COLUMN new_column VarChar(20) DEFAULT 'value1' 
Run Code Online (Sandbox Code Playgroud)

但我绝对不确定如何设置允许的值。

是否有可能制作类似的东西

约束检查 new_column IN ('value1', 'value2', 'value3)

? 我必须承认这张search condition图让我很困惑。

oracle constraint default-value alter-table

11
推荐指数
2
解决办法
4万
查看次数

返回插入时默认生成的唯一标识符

目标

在表中插入值后实时检索最新的guid值

问题

不知道怎么做

信息

  • 代码应该只指定地址邮政编码的新值
  • 表中可以有很多数据

桌子

CREATE TABLE [AddressBook]
(
    [testID] [uniqueidentifier] NOT NULL default newid(),
    [address] [nvarchar](50) NULL,
    [zipcode] [nvarchar](50) NULL
)
Run Code Online (Sandbox Code Playgroud)

sql-server uniqueidentifier t-sql default-value

10
推荐指数
1
解决办法
2万
查看次数