← Back to team overview

maria-discuss team mailing list archive

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

 


Am 02.03.2015 um 14:26 schrieb Ian Gilfillan:
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.

indeed *but* why does "TRANSACTIONAL=0" don't go away after convert to InnoDB?

'show create table' looks like below and the seems to confuse phpMyAdmin

i am pretty sure that i played around switching bewteen Aria/MyISAM/InnoDB with 5.5 multiple times and "sql-mode = STRICT_ALL_TABLES" is enabled on all machines for years - strange

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=InnoDB AUTO_INCREMENT=698045 DEFAULT CHARSET=utf8 PACK_KEYS=0 DELAY_KEY_WRITE=1 ROW_FORMAT=COMPRESSED TRANSACTIONAL=0

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

Attachment: signature.asc
Description: OpenPGP digital signature


Follow ups

References