elv*_*mar 7 spring hibernate h2
我是h2的新手.我只是在hibernate的spring嵌入模式下使用h2.我正在尝试使用h2执行以下脚本.
CREATE TABLE acct_authority (
id bigint(20) NOT NULL auto_increment,
name varchar(255) NOT NULL default '',
value varchar(255) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY name (name)
);
Run Code Online (Sandbox Code Playgroud)
创建表acct_authority时没有任何错误.但是如果我使用以下脚本创建另一个表.
CREATE TABLE acct_role (
id bigint(20) NOT NULL auto_increment,
name varchar(255) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY name (name)
);
Run Code Online (Sandbox Code Playgroud)
它显示错误,因为约束名已经存在.我做了什么错.
Mik*_*unu 12
您尝试使用相同的名称创建两个约束.如您所见,两个CREATE TABLE语句都包含以下内容:
UNIQUE KEY name (name)
Run Code Online (Sandbox Code Playgroud)
结果是第一个创建名为name的约束,第二个因为约束名称已存在而失败.问题可以通过使用唯一名称来解决.另外一般来说,对数据库对象有更多描述性名称是有意义的.也许您可以使用例如以下内容:
UNIQUE KEY acct_authority_name_UNIQUE (name)
...
UNIQUE KEY acct_role_name_UNIQUE (name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10076 次 |
| 最近记录: |