SQL Server(MSSQL)踩坑记录
MSSQL 出的比较早,遵循严格的 SQL 语法,并不像 MySQL 和 PostgreSQL 那样宽松,也不支持存储 JSON 字段,里面有坑。
别名提示: SQL Server = MSSQL = mssql, MySQL = mysql, PostgreSQL = pg
索引
NULL 是有效值
mssql 中 NULL 是有效值,设置唯一索引的字段只能有一个 NULL。但在 pg 和 mysql 中,多个 NULL 视为不同的值。
| ID | |
|---|---|
| 1 | NULL(插入成功) |
| 2 | NULL (插入失败,重复) |
删除索引
在 MSSQL 中,UNIQUE 约束会自动创建一个唯一索引,索引不能直接通过 DROP INDEX 删除,需要先删除 UNIQUE 约束。
视图
创建视图
注意:必须得有指定列名
- CREATE VIEW test1 AS SELECT 1 ❌
- CREATE VIEW test1 AS SELECT 1 as value ✅