Страница 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 вряд ли так сходу можно сказать :(