BIGINT

Overview

Integer from -9223372036854775808 to 9223372036854775807 when signed, or from 0 to 18446744073709551615 when unsigned.

See also: Data Types for MariaDB Xpand 6.1, in 6.0, and in 5.3

DETAILS

SYNONYMS

The following are synonyms for BIGINT:

  • INT8

EXAMPLES

SIGNED and UNSIGNED

The BIGINT data type may be SIGNED (allowing negative values) or UNSIGNED (not allowing negative values).

Example of BIGINT SIGNED (SIGNED is the default):

CREATE TABLE bigint_signed_example (
  description VARCHAR(20),
  example BIGINT SIGNED
);
INSERT INTO bigint_signed_example VALUES
  ('Zero', 0),
  ('Forty-Two', 42),
  ('Minimum', -9223372036854775808),
  ('Maximum', 9223372036854775807);

Example of BIGINT UNSIGNED:

CREATE TABLE bigint_unsigned_example (
  description VARCHAR(20),
  example BIGINT UNSIGNED
);
INSERT INTO bigint_unsigned_example VALUES
  ('Zero', 0),
  ('Forty-Two', 42),
  ('Minimum', 0),
  ('Maximum', 18446744073709551615);

Out-of-Range

A value is considered "out-of-range" when it is too small or too large to be stored in a data type. When SQL_MODE is strict (the default) an out-of-range value generates an error. If strict mode is not in effect, the value is rounded to the nearest valid value without any warnings.

An example of non-strict out-of-range behavior:

TRUNCATE bigint_signed_example;
TRUNCATE bigint_unsigned_example;

-- Disable strict mode or the inserts will fail
SET sql_mode=(SELECT REPLACE(@@sql_mode, 'STRICT_TRANS_TABLES', ''));

INSERT INTO bigint_signed_example VALUES
  ('Underflow', -9223372036854775809),
  ('Overflow', 9223372036854775808);

INSERT INTO bigint_unsigned_example VALUES
  ('Underflow', -1),
  ('Overflow', 18446744073709551616);

The resulting data would look like this:

SELECT * FROM bigint_signed_example;
+-------------+----------------------+
| description | example              |
+-------------+----------------------+
| Underflow   | -9223372036854775808 |
| Overflow    |  9223372036854775807 |
+-------------+----------------------+
SELECT * FROM bigint_unsigned_example;
+-------------+----------------------+
| description | example              |
+-------------+----------------------+
| Underflow   |                    0 |
| Overflow    | 18446744073709551615 |
+-------------+----------------------+

BIGINT ZEROFILL

While Xpand accepts the BIGINT ZEROFILL type on table create, the qualifier is silently dropped.

CREATE TABLE bigint_zerofill_example (
  description VARCHAR(20),
  example BIGINT ZEROFILL
);
SHOW CREATE TABLE bigint_zerofill_example\G
*************************** 1. row ***************************
       Table: bigint_zerofill_example
Create Table: CREATE TABLE `bigint_zerofill_example` (
  `description` varchar(20) CHARACTER SET utf8,
  `example` bigint(20)
) CHARACTER SET utf8 /*$ SLICES=3 */

CHANGE HISTORY

Release Series

History

6.1

  • Present starting in MariaDB Xpand 6.1.0.

6.0

  • Present starting in MariaDB Xpand 6.0.3.

5.3

  • Present starting in MariaDB Xpand 5.3.13.