MySQL Checksum differs but cannot find difference in table
1
vote
0
answers
314
views
I have two tables which are expected to be the same
CHECKSUM TABLE robot, tbd_robot #Doesn't match
All the column types (storage format) are the same, the engine and collation are also the same. The table DDLs are identical.
I tried running the intersect (as mentioned here ):
SELECT 'robot' AS
set
, r.*
FROM robot r
WHERE ROW(r.col1, r.col2, …) NOT IN
(
SELECT col1, col2, ...
FROM tbd_robot
)
UNION ALL
SELECT 'tbd_robot' AS set
, t.*
FROM tbd_robot t
WHERE ROW(t.col1, t.col2, …) NOT IN
(
SELECT col1, col2, ...
FROM robot
)
Again, nothing differs nothing differs between the two table.
I tried running checksums column by column:
SELECT SUM(CRC32(yourColumnName)) AS anyAliasName FROM robot; #Redo for each column for each table
Again, nothing differs between the two table.
I also look at the data_length
SELECT DATA_LENGTH, INDEX_LENGTH, ENGINE, AUTO_INCREMENT, TABLE_SCHEMA, TABLE_NAME, TABLE_COLLATION
FROM information_schema.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' and TABLE_SCHEMA = 'robot' and TABLE_NAME = 'tbd_robot';
Again, DATA_LENGTH does not differ between the two table.
Why is my checksum different if I can't find anything different between the two tables?
Asked by Wistar
(111 rep)
Dec 17, 2022, 03:26 PM
Last activity: Dec 17, 2022, 03:47 PM
Last activity: Dec 17, 2022, 03:47 PM