Mysql Innodb проблемы с Insert ом

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Tuko_G
Бывалый
Сообщения: 95
Зарегистрирован: 09 Декабрь 2005, 10:47
Откуда: Tbilisi, Georgia
Контактная информация:

Mysql Innodb проблемы с Insert ом

Сообщение Tuko_G »

Добрый день,

есть DB mysql одно table с Innodb engine , когда делаю Insert и из Clarion app как будто все OK (без ощибок), но в базе записы не добавляется.

на том же table только с MyIsam Engine все проходит четко, и записи добаляется в базе.

Что сделать что я делаю ни так, Please Help :(

в mysql е autocommit пробовал и On и Off но напрасно.

спсибо заранее.
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Mysql Innodb проблемы с Insert ом

Сообщение gopstop2007 »

Вы бы указали как база выглядит на стороне сервера и клиента + версия клариона и mysql :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ал
✯ Ветеран ✯
Сообщения: 1014
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия
Поблагодарили: 1 раз

Mysql Innodb проблемы с Insert ом

Сообщение Ал »

попробовать нарисовать табличку с одним простым полем и разобраться - с ключами, insert и тд.
Tuko_G
Бывалый
Сообщения: 95
Зарегистрирован: 09 Декабрь 2005, 10:47
Откуда: Tbilisi, Georgia
Контактная информация:

Mysql Innodb проблемы с Insert ом

Сообщение Tuko_G »

версия клара 6,3 Mysql 5.6
связ между app и DB через odbc. что значит как выглядит на стороне клиента? база на стороне сервера.
и table прастой с 25 полем и 4 index. но непонятно то что тоте же table (with myIsam engine) пашет, а с Innodb не сохраняет записи.
Аватара пользователя
morkovin
Ветеран
Сообщения: 909
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Mysql Innodb проблемы с Insert ом

Сообщение morkovin »

будто все OK (без ощибок), но в базе записы не добавляется
А что видно в этой таблице другими программами-вьюерами (типа dbForge)? может эапись добавляется в какой-то непонятной кодировке и потом просто не отображается в browse, т.к. формируются кривые ключи
WBR, morkovin
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Mysql Innodb проблемы с Insert ом

Сообщение 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;
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ал
✯ Ветеран ✯
Сообщения: 1014
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия
Поблагодарили: 1 раз

Mysql Innodb проблемы с Insert ом

Сообщение Ал »

проверяли только на Mysql 5.6? На версиях помладше/постарше не пытались?
Tuko_G
Бывалый
Сообщения: 95
Зарегистрирован: 09 Декабрь 2005, 10:47
Откуда: Tbilisi, Georgia
Контактная информация:

Mysql Innodb проблемы с Insert ом

Сообщение 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;

gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Mysql Innodb проблемы с Insert ом

Сообщение gopstop2007 »

При попытке создания вашей таблицы 'listi' мне сразу указало на ошибку - "Key column 'PBreak' doesn't exist in table". Попробуйте сами создать и добавить записи в ручную, я использую для этого например Navicat Premium. А InnoDb отличается от myisam только наличием механизма транзакций и внешних ключей, и еще смущает эта строка если примари, то зачем указывать как уникальное?

Код: Выделить всё

 ...  UNIQUE KEY `KeyPTnumber` (`PNumber`,`TNumber`),
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Tuko_G
Бывалый
Сообщения: 95
Зарегистрирован: 09 Декабрь 2005, 10:47
Откуда: Tbilisi, Georgia
Контактная информация:

Mysql Innodb проблемы с Insert ом

Сообщение 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. :(
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

Mysql Innodb проблемы с Insert ом

Сообщение gopstop2007 »

ну тогда без Вашего кода с примером app + dct вряд ли так сходу можно сказать :(
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить