addPrimaryKey
Adds a primary key out of an existing column or set of columns.
Available attributes
catalogName |
Name of the catalog |
|
all |
clustered |
|
|
all |
columnNames |
Name of the column(s) to create the primary key on. Comma separated if multiple |
all |
all |
constraintName |
Name of primary key constraint |
|
all |
forIndexCatalogName |
|
|
all |
forIndexName |
|
|
db2, db2z, oracle |
forIndexSchemaName |
|
|
all |
schemaName |
Name of the schema |
|
all |
tableName |
Name of the table to create the primary key on |
all |
all |
tablespace |
|
|
all |
validate |
This is true if the primary key has 'ENABLE VALIDATE ' set, or false if the primary key has 'ENABLE NOVALIDATE ' set. |
|
all |
XML example
<changeSet author="liquibase-docs" id="addPrimaryKey-example">
<addPrimaryKey catalogName="cat"
clustered="true"
columnNames="id, name"
constraintName="pk_person"
forIndexName="A String"
schemaName="public"
tableName="person"
tablespace="A String"
validate="true"/>
</changeSet>
YAML example
changeSet:
id: addPrimaryKey-example
author: liquibase-docs
changes:
- addPrimaryKey:
catalogName: cat
clustered: true
columnNames: id, name
constraintName: pk_person
forIndexName: A String
schemaName: public
tableName: person
tablespace: A String
validate: true
JSON example
{ "changeSet": { "id": "addPrimaryKey-example", "author": "liquibase-docs", "changes": [ { "addPrimaryKey": { "catalogName": "cat", "clustered": true, "columnNames": "id, name", "constraintName": "pk_person", "forIndexName": "A String", "schemaName": "public", "tableName": "person", "tablespace": "A String", "validate": true } }] } }
SQL example
ALTER TABLE cat.person ADD PRIMARY KEY (id,
name);
Database support
DB2/LUW |
Supported
|
Yes
|
DB2/z |
Supported
|
Yes
|
Derby |
Supported
|
Yes
|
Firebird |
Supported
|
Yes
|
H2 |
Supported
|
Yes
|
HyperSQL |
Supported
|
Yes
|
INGRES |
Supported
|
Yes
|
Informix |
Supported
|
Yes
|
MariaDB |
Supported
|
Yes
|
MySQL |
Supported
|
Yes
|
Oracle |
Supported
|
Yes
|
PostgreSQL |
Supported
|
Yes
|
SQL Server |
Supported
|
Yes
|
SQLite |
Not Supported |
Yes
|
Sybase |
Supported
|
Yes
|
Sybase Anywhere |
Supported
|
Yes
|