Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于存储操作结果的MySQL摘要状态表_Mysql_Import_Summary - Fatal编程技术网

用于存储操作结果的MySQL摘要状态表

用于存储操作结果的MySQL摘要状态表,mysql,import,summary,Mysql,Import,Summary,我在本地工作站上有一个MySQL(5.6)数据库,我经常将大型数据集拉入其中进行分析。对于每个数据集,我都有一个单独的SQL脚本,用于导入数据并在需要时重新格式化(特别是转换日期格式)。此外,我还有其他脚本对数据执行详细分析 为了保证质量,我希望有一个名为ImportLog的表,该表存储一条记录,以捕获运行的每个导入的结果。此表如下所示: ImportName DateRun RowsImported ---------- ------- --------

我在本地工作站上有一个MySQL(5.6)数据库,我经常将大型数据集拉入其中进行分析。对于每个数据集,我都有一个单独的SQL脚本,用于导入数据并在需要时重新格式化(特别是转换日期格式)。此外,我还有其他脚本对数据执行详细分析

为了保证质量,我希望有一个名为ImportLog的表,该表存储一条记录,以捕获运行的每个导入的结果。此表如下所示:

ImportName    DateRun        RowsImported
----------    -------        ------------
ImportASR     2015-08-29     12902
ImportEAD     2015-08-30     18023
ImportHRData  2015-08-30     122376
ImportLog的列定义如下:

ImportName    // the name of the script that is run
DateRun       // the date that the script is run
RowsImported  // the count of records imported in the run. 
在每个脚本的最后,都会有一段代码,用于将一行相关数据写入该表。例如,假设我在2015年8月29日运行了名为ImportASR的脚本,它导入了12902条记录。在脚本的末尾,我想使用如下方式将一条记录附加到ImportLog(如上表中的第一条记录):

INSERT INTO ImportLog
    VALUES("ImportASR",$DateRun,$RowCunt);
每次运行一个导入脚本时,它都会向ImportLog表中添加一行适当的数据


我的问题是:如何用当前日期填充$DateRun变量,用新导入的ASR数据集的行数填充$RowCount变量?还是我试图从错误的角度来看待这个问题?

今天早上的第一件事是我偶然发现了问题的答案;它非常简单,令我惊讶的是,它不需要使用任何变量。要放在每个导入脚本末尾的代码如下所示:

INSERT INTO ImportLog
  "Script: ImportASR",
  SELECT NOW(),
  (SELECT COUNT(*) FROM ASR_Full);
InportLog表最初的定义如下:

CREATE TABLE LPIS_SearchMatchLog (
  ImportName VARCHAR(25),
  DateRun DATETIME,
  RowCount INT
);

希望这对其他人有帮助

可能我误解了您的问题-在mysql脚本中应该可以包含CREATETABLE语句。如果你想知道受上一个操作影响的行,你可以使用mysql_infected_rows(),尽管对某些操作有一些限制条件;那有用吗?