VARBINARY

Variable-length string for binary data with limit up to 65,535 bytes

See also: Data Types in 10.6 ES, in 10.6 CS, in 10.5 ES, in 10.5 CS, in 10.4 ES, in 10.4 CS, in 10.3 ES, in 10.3 CS, in 10.2 ES, and in 10.2 CS

DETAILS

SYNONYMS

The following are synonyms for VARBINARY:

  • RAW

EXAMPLES

VARBINARY

For our example of VARBINARY we picked a maximum size that avoids overflowing the maximum row size (65535). Keep in mind that a multi-byte character set would need more space in the row than a single-byte character set. We also avoid the auto-conversion of a VARBINARY into a BLOB, MEDIUMBLOB, or LONGBLOB that can happen when STRICT_TRANS_TABLES is not set in the SQL_MODE.

The example:

CREATE TABLE varbinary_example (
  description VARCHAR(20),
  example VARBINARY(65511)
);
INSERT INTO varbinary_example VALUES
  ('Normal foo', 'foo'),
  ('Trailing spaces foo', 'foo      '),
  ('NULLed', NULL),
  ('Empty', ''),
  ('Maximum', RPAD('', 65511, CHAR(7)));
SELECT description, LENGTH(example) AS length
  FROM varbinary_example;
+---------------------+--------+
| description         | length |
+---------------------+--------+
| Normal foo          |      3 |
| Trailing spaces foo |      9 |
| NULLed              |   NULL |
| Empty               |      0 |
| Maximum             |  65511 |
+---------------------+--------+

Data too long

When SQL_MODE is strict (default) a value is considered "too long" when its length exceeds the size of the data type, and an error is generated.

Example of data too long behavior for VARBINARY:

INSERT INTO varbinary_example VALUES
  ('Overflow', RPAD('', 65512, CHAR(7)));
ERROR 1406 (22001): Data too long for column 'example' at row 1

CHANGE HISTORY

Release Series

History

10.6 Enterprise

  • Present starting in MariaDB Enterprise Server 10.6.4-1.

10.6 Community

  • Present starting in MariaDB Community Server 10.6.0.

10.5 Enterprise

  • Present starting in MariaDB Enterprise Server 10.5.3-1.

10.5 Community

  • Present starting in MariaDB Community Server 10.5.0.

10.4 Enterprise

  • Present starting in MariaDB Enterprise Server 10.4.6-1.

10.4 Community

  • Present starting in MariaDB Community Server 10.4.0.

10.3 Enterprise

  • Present starting in MariaDB Enterprise Server 10.3.16-1.

10.3 Community

  • Present starting in MariaDB Community Server 10.3.0.

10.2 Enterprise

  • Present starting in MariaDB Enterprise Server 10.2.25-1.

10.2 Community

  • Present starting in MariaDB Community Server 10.2.0.

EXTERNAL REFERENCES