Hibernate唯一约束

KinglyJn      2012-12-16

UNIQUE约束可以防止两个记录在一个特定的列具有相同的值。 Customers表中,例如,你可能要防止两个或两个以上的人具有相同的年龄。

例子:
例如,下面的SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。这里年龄列设置为独一无二的,所以不能有两个记录具有相同的年龄:

CREATE TABLE CUSTOMERS( 
    ID INT NOT NULL, 
    NAME VARCHAR (20) NOT NULL, 
    ADDRESS CHAR (25), 
    PRIMARY KEY (ID)
);

如果已经创建了CUSTOMERS表,然后添加一个UNIQUE约束年龄的列,那么可能会写一个类似下面的语句:

ALTER TABLE CUSTOMERS MODIFY AGE INT NOT NULL UNIQUE;

还可以使用下面的语法,支持命名的约束和多列:

ALTER TABLE CUSTOMERS ADD CONSTRAINT myUniqueConstraint UNIQUE(AGE, SALARY);

删除一个唯一约束:
要删除一个UNIQUE约束,请使用下面的SQL语句:

ALTER TABLE CUSTOMERS DROP CONSTRAINT myUniqueConstraint;

如果使用MySQL,那么可以使用下面的语法:

ALTER TABLE CUSTOMERS DROP INDEX myUniqueConstraint;

hibernate唯一约束示例:



Tags:


Share: