# MySQL

The basic requirements for data integration are exactly the same as those for data migration. For specific information, please refer to the [Data Migration Instructions](/docs/udts/ts/mysql_source/mysql2mysql).

## Migration Contents

Data integration currently only migrates Database, Table, and their data. It does not migrate other content such as View, Function, Stored Procedure, etc.

## Function Description

### Execution Order
- Data sources are sorted by the order they are added, with tasks from earlier sources being executed first.
- "Incremental Task" and "Full + Incremental Task" are executed concurrently.
- When a data source's task type is a full task, subsequent tasks will only start after this full task is completed.

### Preserve Original Data
There is an option in the data source configuration to choose whether to "preserve the original data in the target database", and the default is "yes".

- If the default "yes" is maintained, new data will only be continuously added to the target database. In the event of a conflict, actions will be taken according to the set conflict resolution strategy.
- If "no" is selected, the corresponding database tables in the target will be deleted before the task starts according to the ETL settings.

### Data Conflict Resolution Strategy
A "Data Conflict Resolution Method" option is provided in the data source configuration to select the approach to conflict handling.

- If "replace" is selected, the existing data will be replaced using "replace into".
- If "retain" is selected, the original data will be preserved, ignoring new data.

### Data Filtering Strategy
A "Data Filtering Strategy" option is provided in the data source configuration to filter certain types of DML statements during incremental synchronization.

- You can choose to filter any or multiple items among insert/update/delete.
- By default, no selection is made, and all types of DML statements are incrementally synchronized.

### ETL
- When filling in ETL information, if a database or table is checked, a mapping name must be filled in. If no mapping is needed, the default is to fill in the library name/table name that is the same as the data source.
- When filling in ETL information, if a database is selected without selecting tables, all tables under the library are migrated.

## Functional Limitations
- Data integration tasks do not currently support DDL statements because DDL statements may alter the table structure of the target database and disrupt ETL functionality.