Error number: 3962; Symbol: ER_WARN_DEPRECATED_INNER_INTO; SQLSTATE: HY000
Message: The INTO clause is deprecated inside query blocks of query expressions and will be removed in a future release. Please move the INTO clause to the end of statement instead.
错误396,代号 ER_WARN_DEPRECATED_INNER_INTO,SQLSTATE:HY000
错误说明:
ER_WARN_DEPRECATED_INNER_INTO指的是警告已经不再支持INTO子句的内部查询。MySQL警告用户,不应该在MySQL的内部查询中使用INTO子句,因为这将使代码变得混乱,影响数据库的性能。
下面是一个实际的案例,智能引发此错误:
SELECT * FROM (SELECT * FROM tbl_name ORDER BY field) INNER INTO other_tbl_name;
以上查询将抛出ER_WARN_DEPRECATED_INNER_INTO错误,因为在MySQL内部查询中使用了INTO子句而不符合MySQL的最新规则。
解决方法:
为了解决ER_WARN_DEPRECATED_INNER_INTO错误,开发人员需要检查代码并确保不在MySQL内部查询中使用INTO子句。这样,MySQL将不会警告用户关于使用已经被弃用的INTO子句。
MySQL推荐使用JOIN子句替代INTO子句,因为JOIN有更好的性能,也更容易使用。