Destination contract
The final MySQL table must exist before delivery begins. Create it with the explicit setup action in the destination editor when available, or run reviewed DDL in MySQL yourself. The delivery runner does not create final tables. The table should:- use InnoDB;
- use
utf8mb4for general text; - contain every column selected by the published SQL model;
- use compatible types; and
- define a primary or unique key for deterministic Upsert behavior.
Required destination access
Create a dedicated writer. If table creation is managed separately, the runtime user needs only data access to existing tables.CREATE and ALTER only to a separate setup user or when your operating
policy explicitly allows the app’s setup action to reconcile tables.
Connection fields
Create the connection
- Open Connections.
- Click + New Connection.
- Set the role to Destination.
- Choose MySQL.
- Complete the connection fields.
- Click Test Connection.
- Save after the test succeeds.
Prepare a destination table
This example accepts customer rows from Airtable or another source:external_id, name, email, and
source_created_at. Columns with database defaults, such as synced_at, can be
omitted when the table permits it.
Configure delivery
- Open Destinations and click Add destination.
- Choose the MySQL connection, target database, and save.
- Open Transformations, select that destination, and create the SQL model.
- Save, validate, preview, and publish the revision.
- Return to the destination editor and, under Published output targets,
enter
database.table, for exampleanalytics.airtable_customers. - Choose the stable primary or unique key as the Upsert key.
- Create/verify the table when needed and save the destination.
Upsert behavior
With a primary or unique key, a first run inserts rows and later runs update the matching rows. This is the recommended production configuration. Without a key, delivery cannot identify an existing row deterministically. Add a stable primary or unique key before enabling repeated runs.Verify delivery
Troubleshooting
Follow the Airtable and MySQL pipeline guide
for complete Airtable-to-MySQL and MySQL-to-Airtable examples.