mysql> WITH RECURSIVE cte ,,,,,( ,,,,,,,SELECT 1, AS n, & # 39; abc # 39; AS str ,,,,,,UNION 所有 ,,,,,,,SELECT n +, 1, CONCAT (str, str),得到cte WHERE n & lt; 3 ,,,,,) ,,,,,SELECT *,得到cte; ERROR 1406, (22001):, Data too long for column & # 39; str # 39; at row 1 mysql> WITH RECURSIVE cte ,,,,,( ,,,,,,,SELECT 1, AS n,,演员(& # 39;abc # 39;, AS CHAR (20)), AS str ,,,,,,UNION 所有 ,,,,,,,SELECT n +, 1, CONCAT (str, str),得到cte WHERE n & lt; 3 ,,,,,) ,,,,,SELECT *,得到cte; + - - - - - - - - - - - - - - - - - - - - - - + |,n ,,, |, str ,,,,,,,, | + - - - - - - - - - - - - - - - - - - - - - - + |,,,,1,|,abc ,,,,,,,, | |,,,,2,|,abcabc ,,,,, | |,,,,3,|,abcabcabcabc | + - - - - - - - - - - - - - - - - - - - - - - + 3,rows set 拷贝;(0.00,sec)
当调用cte为1001次的时候,查询报的错 mysql>, WITH RECURSIVE  cte (n), ,,,,,( ,,,,,,,SELECT 1 ,,,,,,UNION 所有 ,,,,,,,SELECT n +, 1,得到cte where n<1001 ,,,,,) ,,,,,SELECT *,得到cte; ERROR 3636, (HY000):, Recursive query aborted after 1001年,迭代只Try increasing @@cte_max_recursion_depth 用a larger 价值。
把参数设置为5 s,执行超时并报错: mysql>, SET max_execution_time =, 5000;,, # 5 s Query 好吧,,0,rows affected (0.00,秒) mysql>, select s。*,得到salaries s where s.emp_no 拷贝(select emp_no 得到employees e where e.first_name=& # 39;格奥尔基# 39;,union all select emp_no 得到employees e where e.hire_date=& # 39; 1992 - 12 - 18 & # 39;); ERROR 3024, (HY000):, Query execution was 中断,,maximum statement execution time 超过 把参数设置为50年代,执行成功: SET max_execution_time =, 50000; mysql>, select s。*,得到salaries s where s.emp_no 拷贝(select emp_no 得到employees e where e.first_name=& # 39;格奥尔基# 39;,union all select emp_no 得到employees e where e.hire_date=& # 39; 1992 - 12 - 18 & # 39;); 2718年,rows set 拷贝;(21.70,sec)
mysql>, WITH RECURSIVE fibonacci (n, fib_n,, next_fib_n), ,,,,,( ,,,,,,,SELECT 1, 0, 1 ,,,,,,UNION 所有 ,,,,,,,SELECT n +, 1,,,, next_fib_n fib_n + next_fib_n ,,,,,,,,,得到fibonacci WHERE n & lt; 10 ,,,,,) ,,,,,SELECT *,得到斐波那契; + - - - + - - - - - - - - - - - - - - - - - - - + |,n ,,, |, fib_n | next_fib_n | + - - - + - - - - - - - - - - - - - - - - - - - + |,,,,1,|,,,,,0,|,,,,,,,,,,1 | |,,,,2,|,,,,,1,|,,,,,,,,,,1 | |,,,,3,|,,,,,1,|,,,,,,,,,,2 | |,,,,4,|,,,,,2,|,,,,,,,,,,3 | null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullMySQL 8.0新特性,CTE Recurive(二)