SQL table definition
Informix®
Informix supports primary key, unique, foreign key, default and check constraints.
The constraint naming syntax is different in Informix and most other databases: Informix expects the constraint name after the constraint definition:
CREATE TABLE emp (
...
emp_code CHAR(10) UNIQUE CONSTRAINT pk_emp,
...
)
CREATE TABLE emp (
...
emp_code CHAR(10) CONSTRAINT pk_emp UNIQUE,
...
)
PostgreSQL
PostgreSQL support primary key, unique, foreign key, default and check constraints.
Constraint naming syntax
The constraint naming clause must be placed before the constraint specification.
The database interface does not convert constraint naming expressions when creating tables from BDL programs. Review the database creation scripts to adapt the constraint naming clauses for PostgreSQL.
Unique constraints
When using a unique constraint, Informix allows only
one row with a NULL
value, while PostgreSQL allows several rows with
NULL
!
Consider using NOT NULL
constraint with UNIQUE
.