← Back to team overview

maria-discuss team mailing list archive

Re: MariaDB 10: how to convert Aria table to InnoDB?

 

This is probably because strict mode is set. If unset, it should return a warning, not an error. From MariaDB 10.1.2, you can use:
SET STATEMENT sql_mode='' FOR ALTER TABLE `systemevents` ENGINE = InnoDB;
which will unset strict mode just for that query, otherwise for older versions just set it off and on again for the session to alter.


On 02/03/2015 15:09, Reindl Harald wrote:
how do someone convert a Aria table to another engine?
MyISAM and InnoDB results in the same error
___________________________________________________________

MariaDB [dbmail]> ALTER TABLE `systemevents` ENGINE = InnoDB;
ERROR 1478 (HY000): Table storage engine 'InnoDB' does not support the create option 'TRANSACTIONAL=1'

MariaDB [dbmail]> ALTER TABLE `systemevents` TRANSACTIONAL=0;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

MariaDB [dbmail]> ALTER TABLE `systemevents` ENGINE = InnoDB;
ERROR 1478 (HY000): Table storage engine 'InnoDB' does not support the create option 'TRANSACTIONAL=1'
___________________________________________________________

CREATE TABLE `systemevents` (
  `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `DeviceReportedTime` datetime DEFAULT NULL,
`FromHost` varchar(30) CHARACTER SET latin1 COLLATE latin1_german1_ci NOT NULL,
  `Message` text,
  `SysLogTag` varchar(60) DEFAULT NULL,
  PRIMARY KEY (`ID`),
  KEY `FromHost` (`FromHost`),
  KEY `SysLogTag` (`SysLogTag`),
  KEY `DeviceReportedTime` (`DeviceReportedTime`)
) ENGINE=Aria AUTO_INCREMENT=698044 DEFAULT CHARSET=utf8 PACK_KEYS=0 PAGE_CHECKSUM=0 DELAY_KEY_WRITE=1 ROW_FORMAT=PAGE TRANSACTIONAL=0



Follow ups

References