• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 条件处理的限制

    SIGNALRESIGNALGET DIAGNOSTICS不允许用作准备好的语句。例如,此语句无效:

    PREPARE stmt1 FROM 'SIGNAL SQLSTATE "02000"';
    

    SQLSTATE'04'中的值没有特别处理。它们的处理方式与其他例外相同。

    在标准SQL中,第一个条件与SQLSTATE为先前的SQL语句返回的值有关。在MySQL中,这不能保证,因此要获取主要错误,您不能这样做:

    GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;
    

    相反,请执行以下操作:

    GET DIAGNOSTICS @cno = NUMBER;
    GET DIAGNOSTICS CONDITION @cno @errno = MYSQL_ERRNO;