MySQL Import Table – Understanding Warnings

MySQL

Hello i have a small database i'm working on and when i import on another server it tells me you have 6 warnings. when i show warnings it says 1031 This table doesn't have this option. I've searched on google about this problem but i didn't find something that relates my problem and the warning level is on note.

Localhost Version

# mysql --version
mysql  Ver 14.14 Distrib 5.5.34, for Win32 (x86)

Server Version

-- --------------------------------------------------------
-- Host:                         
-- Server version:               5.5.35-cll - MySQL Community Server (GPL)
-- Server OS:                    Linux
-- HeidiSQL Version:             8.3.0.4694
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;

-- Dumping database structure for AquaMercury
DROP DATABASE IF EXISTS `AquaMercury`;
CREATE DATABASE IF NOT EXISTS `AquaMercury` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `AquaMercury`;


-- Dumping structure for table AquaMercury.bex_categories
DROP TABLE IF EXISTS `bex_categories`;
CREATE TABLE IF NOT EXISTS `bex_categories` (
  `ProductCategoryId` int(11) NOT NULL AUTO_INCREMENT,
  `ProductCategoryName` varchar(50) NOT NULL DEFAULT '0',
  PRIMARY KEY (`ProductCategoryId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 CHECKSUM=1 COMMENT='Stores product categories';

-- Data exporting was unselected.


-- Dumping structure for table AquaMercury.bex_products
DROP TABLE IF EXISTS `bex_products`;
CREATE TABLE IF NOT EXISTS `bex_products` (
  `ProductId` int(11) NOT NULL AUTO_INCREMENT,
  `ProductName` mediumtext NOT NULL,
  `ProductPrice` varchar(100) NOT NULL,
  `ProductManufacturerCode` varchar(100) NOT NULL,
  `BexProductCode` varchar(100) NOT NULL,
  `ProductDetails` mediumtext,
  `ProductPicture` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`ProductId`,`BexProductCode`,`ProductManufacturerCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 CHECKSUM=1 COMMENT='Place of storing products';

-- Data exporting was unselected.
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

Best Answer

CHECKSUM=1 is not an option that is supported by InnoDB. When used with MyISAM, it causes the CHECKSUM TABLE command to run faster because the storage engine maintains the calculated checksum whenever the table data is changed, instead of having to calculate it on demand... but otherwise it doesn't actually have a purpose (such as safety, data integrity, or error detection or correction, even though it sounds like it might).

How the option originally got set is difficult to guess... either these tables were converted from MyISAM to InnoDB at some point, or perhaps you created them with some kind of graphical MySQL client that added the option to be "helpful."

These warnings should be safe to disregard, but it is easy enough to just edit the file with a quality text editor (such as Notepad++) and remove CHECKSUM=1 from each place where it appears. If the warnings go away, that was the issue. Removing the option should have no negative consequence, since it isn't doing anything anyway.

http://dev.mysql.com/doc/refman/5.6/en/create-table.html