请问下在sql server中,我创建约束的时候没有定义约束名,它默认的约束名是什么呀?

如题。
2024-11-01 03:25:05
推荐回答(3个)
回答1:

如果不指定的话,默认约束名是 约束简写_表名

主键(Primary Key)约束:如 PK_表名
唯一(Unique Key)约束:如 UQ_表名
默认(Default Key)约束:如 DF_表名
检查(Check Key)约束:如 CK_表名
外键(Foreign Key)约束:如 FK_表名

例如表名是TEST 那相应的默认约束名称 为 XX_表名

回答2:

SELECT
  tab.name AS [表名],
  chk.name AS [Check约束名],
  col.name AS [列名],
  chk.definition
FROM
  sys.check_constraints chk
    JOIN sys.tables tab
      ON (chk.parent_object_id = tab.object_id)
    JOIN sys.columns col
      ON (chk.parent_object_id = col.object_id
          AND chk.parent_column_id = col.column_id)


如果是 SQL 2005 以上版本的话, 你可以用上面这个 sql 查询一下。

回答3:

好像后面还有一个随机字符串呢。。。 要查的话,打开sqlserver management studio,找到这个约束,右键、属性,在对话框中可以查看得到。