1

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 */;
2
  • Can you show the entire error msg ?
    – Up_One
    Commented Feb 28, 2014 at 11:35
  • Level: Note, Err Code: 1031, Message: Table storage engine for 'bex_products' doesn't have this option
    – Bogdan
    Commented Feb 28, 2014 at 13:01

1 Answer 1

3

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

5
  • tables were done using HeidiSQL, and i found the checksum part removed it but still i have two warnings but when i send SHOW WARNINGS it doesn't return me any. and after i removed the checksum thing from 6 warnings i was down to 4 or something like that and after that i removed the comment with enable keys disable keys and i was down to only 2 warnings which i don't know from where they come.
    – Bogdan
    Commented Feb 28, 2014 at 12:59
  • /* Affected rows: 664 Found rows: 7 Warnings: 2 Duration for 19 queries: 0.031 sec. */ from the last query i made
    – Bogdan
    Commented Feb 28, 2014 at 13:03
  • i'm running the sql file in command line to check out there what errors it gives me because so far i've only tested using heidisql.
    – Bogdan
    Commented Feb 28, 2014 at 13:12
  • Don't remove the things that look like comments -- they are not comments. /*!nnnnn */ tells the server "execute the enclosed statement only if you are MySQLversion n.nn.nn or higher." dev.mysql.com/doc/refman/5.6/en/comments.html Commented Mar 1, 2014 at 1:48
  • i know they aren't comments :-) some servers will ignore those "comments" and others will use them. :-)
    – Bogdan
    Commented Mar 1, 2014 at 7:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.