2013-06-02 97 views
3

将主键添加到现有生产数据库的语法是什么?我已经继承了一个没有设置任何主键的数据库,并且我需要在每个表上使用我的ORM作为应用程序的主键。将主键添加到Advantage中的现有数据库

我试过Google搜索无济于事,Advantage的文档并不是世界上最好的。

+0

它似乎支持一些'改变表添加主key'语法:http://devzone.advantagedatabase.com/dz/webhelp/Advantage11/index.html – wildplasser

+0

使用' ALTER TABLE table ADD PRIMARY KEY(column)'抛出错误:找不到预期的词法元素:您缺少列名称。 –

+0

也许它想约束的名称(这通常是可选的) – wildplasser

回答

4

自由连接中的表不支持主键。 (但它们确实支持唯一索引。)

字典中的表支持表属性TABLE_PRIMARY_KEY的主键。

http://devzone.advantagedatabase.com/dz/webhelp/Advantage11.1/master_sp_modifytableproperty.htm

EXECUTE PROCEDURE sp_ModifyTableProperty(
    'TableName' 
    , 'TABLE_PRIMARY_KEY' 
    , 'IndexName' 
    , 'RETURN_ERROR' 
    , NULL 
) 

你必须先使用CREATE UNIQUE INDEX语句添加一个唯一索引。

CREATE UNIQUE INDEX IndexName ON TableName (ColumnName) 

http://devzone.advantagedatabase.com/dz/webhelp/Advantage11.1/master_create_index.htm

相关问题