# Constraint

## **NOT NULL Constraint**

You can specify a NOT NULL constraint on a column from the Table Structure view:

* Open the table structure view (**`⌘ + ^ + ]`**)
* Specify the value of the **`is_nullable`** field to:
  * **`YES`** to add NOT NULL constraint.
  * **`NO`** to remove the NOT NULL constraint.
* Press **`⌘ + S`** to commit changes to the server.

![](/files/-LsTTOqltm4z4bKIW91d)

## **PRIMARY KEY** Constraint

You can specify a Primary Key Constraint on a column from the Table Structure view:

* Open the table structure view (**`⌘ + ^ + ]`**)
* Specify the value in the Primary Key box:
  * Add the column name into the Primary Key box to make it a define the Primary Key Constraint on that column.
  * Delete the column name from the Primary Key box to remove the Primary Key Constraint on that column.
* Press **`⌘ + S`** to commit changes to the server.

![](/files/-LsTVZHK7ICUzSlnNt4f)

## FOREIGN KEY **constraint**

You can specify a Foreign Key Constraint on a column from the Table Structure view:

* Open the table structure view (**`⌘ + ^ + ]`**)
* Click on the **`foreign_key`** field and choose **`Create a foreign key on column`**
* From the popup, specify the foreign relationship.
* Press **`⌘ + S`** to commit changes to the server.

![](/files/-LsTWtkpXXLoL7kq7Arw)

## DEFAULT Constraint

You can specify a default value for a column from the Table Structure view:

* Open the table structure view (**`⌘ + ^ + ]`**)
* Specify the default value in the **`column_default`** field. It's **`NULL`** by default.
* Press **`⌘ + S`** to commit changes to the server.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tableplus.com/gui-tools/working-with-table/constraint.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
