将列设置为仅接受负值

Eas*_*7us 4 sql-server constraint sql-server-2014 azure-vm

无论如何要更改列数据类型,以便它只接受负值?

它是 SQL Server 2014 Azure。

Dar*_*rio 15

CREATE TABLE t ( n INTEGER NOT NULL CHECK (n < 0) );
Run Code Online (Sandbox Code Playgroud)

在我知道的大多数 RDBMS 中都有效。

编辑: @IMSop 的评论提示我说明为什么我写了“我知道的大多数RDMS ” :众所周知(并且非常不幸)MySQL 不遵守CHECK约束在 MySQL 中,您必须改用触发器。另一种选择是切换到 MariaDB。