Страница 1 из 1
Mysql Innodb проблемы с Insert ом
Добавлено: 03 Март 2015, 18:09
Tuko_G
Добрый день,
есть DB mysql одно table с Innodb engine , когда делаю Insert и из Clarion app как будто все OK (без ощибок), но в базе записы не добавляется.
на том же table только с MyIsam Engine все проходит четко, и записи добаляется в базе.
Что сделать что я делаю ни так, Please Help
в mysql е autocommit пробовал и On и Off но напрасно.
спсибо заранее.
Mysql Innodb проблемы с Insert ом
Добавлено: 03 Март 2015, 18:50
gopstop2007
Вы бы указали как база выглядит на стороне сервера и клиента + версия клариона и mysql

Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 8:11
Ал
попробовать нарисовать табличку с одним простым полем и разобраться - с ключами, insert и тд.
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 10:15
Tuko_G
версия клара 6,3 Mysql 5.6
связ между app и DB через odbc. что значит как выглядит на стороне клиента? база на стороне сервера.
и table прастой с 25 полем и 4 index. но непонятно то что тоте же table (with myIsam engine) пашет, а с Innodb не сохраняет записи.
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 14:35
morkovin
будто все OK (без ощибок), но в базе записы не добавляется
А что видно в этой таблице другими программами-вьюерами (типа dbForge)? может эапись добавляется в какой-то непонятной кодировке и потом просто не отображается в browse, т.к. формируются кривые ключи
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 16:30
gopstop2007
Tuko_G писал(а):версия клара 6,3 Mysql 5.6 связ между app и DB через odbc. что значит как выглядит на стороне клиента?
имелось ввиду - диктонари (DCT), если вы его используете
Tuko_G писал(а): база на стороне сервера.
и table прастой с 25 полем и 4 index. но непонятно то что тоте же table (with myIsam engine) пашет, а с Innodb не сохраняет записи.
для сервера, хотя бы пример в виде
Код: Выделить всё
CREATE TABLE `MAVT_OstatkiAll` (
`idItems` int(11) NOT NULL,
`idWARES` int(11) unsigned NOT NULL,
`Ostatok` decimal(11,2) DEFAULT '0.00',
`Ostatok_Temp` decimal(11,2) DEFAULT '0.00',
`OstDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`idItems`,`idWARES`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251;
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 17:52
Ал
проверяли только на Mysql 5.6? На версиях помладше/постарше не пытались?
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 18:38
Tuko_G
другими программами-вьюерами нет записи. select count(*) возврашает 0.
исползую DCT. в Driver options исползую /turbosql=true
база обичный. вот пример.
на версии 5.5 тоже самое.
Код: Выделить всё
-- Table "listi" DDL
CREATE TABLE `listi` (
`PNumber` smallint(5) unsigned NOT NULL,
`TNumber` int(7) unsigned NOT NULL,
`TNumberM` int(7) unsigned zerofill DEFAULT NULL,
`TNumberM1` int(7) unsigned zerofill DEFAULT NULL,
`Team1` char(20) COLLATE latin1_general_ci DEFAULT NULL,
`Team2` char(20) COLLATE latin1_general_ci DEFAULT NULL,
`W` decimal(7,2) DEFAULT NULL,
`X` decimal(7,2) DEFAULT NULL,
`L` decimal(7,2) DEFAULT NULL,
`X_1` decimal(7,2) DEFAULT NULL,
`X_2` decimal(7,2) DEFAULT NULL,
`X_12` decimal(7,2) DEFAULT NULL,
`GL25` decimal(7,2) DEFAULT NULL,
`G25` decimal(7,2) DEFAULT NULL,
`L25` decimal(7,2) DEFAULT NULL,
`Fre1` decimal(7,2) DEFAULT NULL,
`Fre2` decimal(7,2) DEFAULT NULL,
`Fora` char(5) COLLATE latin1_general_ci DEFAULT NULL,
`Gol1` decimal(7,2) DEFAULT NULL,
`Gol2` decimal(7,2) DEFAULT NULL,
`Ang_1` smallint(5) unsigned DEFAULT NULL,
`Ang_2` smallint(5) unsigned DEFAULT NULL,
`Shedegi` char(3) COLLATE latin1_general_ci DEFAULT '',
`Pirveli` tinyint(3) unsigned DEFAULT NULL,
`SDate` date NOT NULL,
`STime` time NOT NULL,
`GType` tinyint(3) unsigned DEFAULT NULL,
`GStatus` char(1) COLLATE latin1_general_ci NOT NULL DEFAULT '',
`LivNom` char(100) COLLATE latin1_general_ci DEFAULT '',
`HeadCode` smallint(5) unsigned DEFAULT NULL,
`SpecHeadCode` smallint(5) unsigned DEFAULT NULL,
`Divname` char(100) COLLATE latin1_general_ci DEFAULT NULL,
`Live_suspend` tinyint(3) unsigned DEFAULT NULL,
`Ground_Live` smallint(3) DEFAULT NULL,
PRIMARY KEY (`PNumber`,`TNumber`),
UNIQUE KEY `KeyPTnumber` (`PNumber`,`TNumber`),
UNIQUE KEY `Key1342` (`PNumber`,`TNumberM`,`TNumberM1`,`TNumber`),
KEY `KeyPnumber` (`PNumber`),
KEY `Key_P_pb_gs_sh_ga` (`PNumber`,`PBreak`,`GStatus`,`Shedegi`,`Gad`)
) ENGINE=Innodb DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 19:18
gopstop2007
При попытке создания вашей таблицы 'listi' мне сразу указало на ошибку - "Key column 'PBreak' doesn't exist in table". Попробуйте сами создать и добавить записи в ручную, я использую для этого например Navicat Premium. А InnoDb отличается от myisam только наличием механизма транзакций и внешних ключей, и еще смущает эта строка если примари, то зачем указывать как уникальное?
Код: Выделить всё
... UNIQUE KEY `KeyPTnumber` (`PNumber`,`TNumber`),
Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 20:04
Tuko_G
да все правильно. там дольжен поле pbreak smallint(3), это не тмеет значение. хоть савсем убрать етот KEY `Key_P_pb_gs_sh_ga` (`PNumber`,`PBreak`,`GStatus`,`Shedegi`,`Gad`)
я тоже использую как раз Nfvicat, в ручтую добавляется а через программи нет именно когда engine=Innodb. (а когда myIsam все по маслу)
а на шет Unique если primary а на что мешает?
такое ошушение что после insert не делаетcя autocommit.

Mysql Innodb проблемы с Insert ом
Добавлено: 04 Март 2015, 20:30
gopstop2007
ну тогда без Вашего кода с примером app + dct вряд ли так сходу можно сказать
