MySQL触发警告

时间:2017-06-27 09:27:19

标签: mysql triggers warnings

我正在使用LOAD DATA LOCAL INFILE将文件上传到MySQL表。 由于此文件是由用户创建的,因此它可能包含大量不一致的数据并且格式错误。 目前我正在使用以下代码捕获这些警告:

if (mysqli_warning_count($conn)) { 
  $e = mysqli_get_warnings($conn); 
  do { 
    $conn->query("CALL import_warning($id, '$e->errno', '$e->message');"; 
  } while ($e->next()); 
}

无论如何在MySQL中这样做,就像警告的触发器一样?

1 个答案:

答案 0 :(得分:0)

是的,没有。

mysqli_get_warnings()函数产生与show warnings MySQL语句相同的输出。因此,有一种方法可以从纯SQL代码中获取警告列表。但是,MySQL show语句的处理方式与简单select不同。

不幸的是,这意味着您无法正确处理存储过程中任何show语句的结果集,因此在导入后无法正确记录警告。