### Schema changes
{{< include-md file="shared-content/schema-changes-in-progress.md" >}}
{{% schema-changes %}}
### Supported types
Materialize natively supports the following MySQL types:
bigint
binary
bit
blob
boolean
char
date
datetime
decimal
double
float
int
json
longblob
longtext
mediumblob
mediumint
mediumtext
numeric
real
smallint
text
time
timestamp
tinyblob
tinyint
tinytext
varbinary
varchar
Replicating tables that contain **unsupported [data types](/sql/types/)** is
possible via the [`TEXT COLUMNS`
option](/sql/create-source/mysql/#handling-unsupported-types) for the following
types:
The specified columns will be treated as `text`, and will thus not offer the
expected MySQL type features. For any unsupported data types not listed above,
use the [`EXCLUDE COLUMNS`](/sql/create-source/mysql/#excluding-columns) option.
### Truncation
Upstream tables replicated into Materialize should not be truncated. If an
upstream table is truncated while replicated, the whole source becomes
inaccessible and will not produce any data until it is recreated. Instead of
truncating, you can use an unqualified `DELETE` to remove all rows from the table:
```mzsql
DELETE FROM t;
```