【问题标题】:Error Inserting information at InnoDB tables在 InnoDB 表中插入信息时出错
【发布时间】:2018-06-27 16:16:59
【问题描述】:

我们试图在 MySQL 服务器的 InnoDB 表中插入一些信息并检索最后一个是这个插入的。

问题是:我们得到了最后一个id,但是信息没有被插入到table...

一些可能有帮助的信息:

  • 我们尝试更新 mysql.data;
  • 我们尝试更新 MySQL 的 ADO.NET 驱动程序(连接器/NET);
  • 当我们尝试插入 MyISAM 表时;
  • 我们尝试在 InnoDB 表中的另一台服务器上使用相同的查询插入并正常工作;
  • 我们尝试删除 InnoDB 表并创建另一个 InnoDB 表,执行相同的查询但不起作用;
  • 我们尝试在 WorkBench 上执行相同的查询并且可以正常工作,但从应用程序中无法正常工作。

MySQL服务器:5.6

创建表的语句:

CREATE TABLE `TBimportacao` (
`Id`int(10) NOT NULL AUTO_INCREMENT,
`idLogin` int(10) NOT NULL,
`CNPJ` varchar(40) COLLATE latin1_general_ci DEFAULT NULL,
`NomeArquivo` varchar(500) COLATE latin1_general_ci NOT NULL,
`Progresso` varchar(5) COLLATE latin1_general_ci NOT NULL,
`Label` varchar(50) COLLATE latin1_general_ci NOT NULL,
`TamanhoArquivos` varchar(10) COLLATE latin1_general_ci DEFAULT '1',
`ArquivoAtual` varchar(10) COLLATE latin1_general_ci default '1',
`Concluido` tinyint(1) default '0',
`Erro` text COLLATE latin1_general_ci,
`DataImport` datetime DEFAULT NULL,
`RemoverVisualizar` tinyint(1) DEFAULT '0',
PRIMARY KEY ('Id')
ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

插入查询:

INSERT INTO `database`.`TBimportacao`
(idLogin, NomeArquivo, CNPJ, Progresso, Label, TamanhoArquivos, ArquivoAtual, Concluido, Erro, DataImport, RemoverVisualizar)
VALUES ('2321', 'arquivo', '512315213', '', 'Processando...', '', '', 0, '', '2018-06-26 16:18:58', '0');

【问题讨论】:

    标签: c# mysql innodb


    【解决方案1】:

    听起来你没有发出COMMIT??

    autocommit 的值是多少?在INSERT 之前是否有BEGINSTART TRANSACTION

    【讨论】:

    • 我们在同一个 MySQL 服务器的其他表中使用这个连接类,有些表有 MyISam 引擎并且可以工作,但是当我尝试插入 InnoDB 表时,不起作用,但最好奇是不插入行,而是检索 LastID。
    • @RichardAndrade - 了解“交易”和“提交”。在这种情况下讲课太长了。
    猜你喜欢
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多