Does MySQL Support UUID Data Type?


Larry Thompson

Does MySQL Support UUID Data Type?

In MySQL, a Universally Unique Identifier (UUID) is a 128-bit number that is used to uniquely identify records in a database. It provides a way to generate unique identifiers across different systems without the need for centralized coordination.

Introduction to UUID

A UUID is represented as a string of 36 characters, typically separated by hyphens into five groups: 8-4-4-4-12. For example, “550e8400-e29b-41d4-a716-446655440000” is a valid UUID.

UUID Support in MySQL

In recent versions of MySQL, starting from version 8.0, the UUID data type is supported natively. This means that you can directly use the UUID data type when defining columns in your tables.

To define a column with the UUID data type, you can use the following syntax:

CREATE TABLE table_name (
    id UUID DEFAULT uuid_generate_v4() PRIMARY KEY,

Generating UUIDs

In MySQL, you can use the uuid() function to generate a new random UUID value. For example:

SELECT uuid();

This will return a new UUID value like “550e8400-e29b-41d4-a716-446655440000”.

You can also use the uuid_to_bin() function to convert a UUID string into binary format:

SELECT uuid_to_bin('550e8400-e29b-41d4-a716-446655440000');

UUID Functions in MySQL

MySQL provides several functions for working with UUIDs:

  • uuid(): Generates a new random UUID value.
  • uuid_short(): Generates a short UUID value.
  • uuid_to_bin(): Converts a UUID string into binary format.
  • bin_to_uuid(): Converts a binary UUID value into string format.
  • is_uuid(): Checks if a given string is a valid UUID.


In conclusion, MySQL does support the UUID data type starting from version 8.0. Using the native UUID data type allows you to store and manipulate UUIDs efficiently. Additionally, MySQL provides various functions for generating, converting, and validating UUID values, making it easy to work with this unique identifier type.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy