sql - 在 Advantage 中向现有数据库添加主键

标签 sql primary-key advantage-database-server

将主键添加到现有生产数据库的语法是什么?我继承了一个没有为任何东西设置主键的数据库,我需要在每个表上有一个主键才能将我的 ORM 用于应用程序。

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

最佳答案

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

字典中的表通过表属性 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

关于sql - 在 Advantage 中向现有数据库添加主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885070/

相关文章:

php - MySQL 使用 SELECT WHERE Primary Key = XYZ

sql - 是否可以使用 SQL 通过表达式引擎表达式创建索引?

delphi - 在ADS中找不到与dbase III通信的正确代码页

permissions - Advantage 数据字典中自动创建的 ADSSYS 用户的作用是什么?

sql - 如何在 Access 中的查询中使用 LIMIT,但不使用 TOP

php - 添加条件以将我的帖子显示到现有查询

SQL:选择varchar的平均值

java - @Id 不创建主键

sql - 更改主键

sql - 使用单个 PL SQL 查询返回多个计数