When working with large integer numbers in wpDataTables, you might notice that numbers over 2,147,483,647 don’t display correctly — for example, a value like 5,587,900,382
appears as 2,147,483,647
.
This happens because:
MySQL’s INT
type is 4 bytes long, limiting the value range to -2,147,483,648 to 2,147,483,647.
Numbers beyond this range cause an overflow and are automatically capped.
This is not a bug in wpDataTables itself, but a limitation of how the database stores numbers. However, it is related to wpDataTables because during table creation, the Plugin defines integer columns as INT
by default.
More details: MySQL Integer Types Documentation
You have two options:
If you can re-create the table:
Create a new Manual Table from your source file (Excel, CSV, Google Sheet).
During the column configuration step:
Set the Type to Integer
(for wpDataTables).
Set the Type in Database to BIGINT
.
Leave the Type Value field blank (it’s no longer used for display width in modern MySQL versions).
Result: Your table will now store and display large integer numbers correctly.
If you don’t want to re-create the table:
Access your database using a tool like phpMyAdmin.
Find the table name used by wpDataTables (check this in the “MySQL Table name for editing” field).
In phpMyAdmin:
Open the table.
Find the column with large numbers.
Click Change (the pencil icon).
Change the column type from INT
to BIGINT
.
Save the changes.
If the table already contains rows with incorrect (capped) numbers, simply changing the column type will not automatically fix the existing wrong values.
To update them:
Use the Update manual tables from source files (CSV, Excel or Google sheet) feature to replace rows with source data.
New table: Easier if you are just starting — create the table again and select
BIGINT
.
Database edit: Better if you already configured the table and want to keep your settings.
If you encounter any issues or need further assistance, feel free to reach out to our support team — we’re here to help!
Large number issues are caused by database limitations on INT
columns.
Use BIGINT
instead to properly store large integers.
You can either re-create the table or update the database column directly.