MySql教程

MySQL「 Every derived table must have its own alias」1248 错误修复法

本文主要是介绍MySQL「 Every derived table must have its own alias」1248 错误修复法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在写带有子查询或者在查询时产生临时表的查询时,可能会出现这个错误:

ERROR 1248 (42000): Every derived table must have its own alias

意思是「每一个派生出来的表都必须给它命名一个自己的别名」

我们看个例子:
假设有一张「顾客购买记录」的表 - kalacloud_purchases 记录了顾客在商店购物的信息。我们要写个查询,查看哪些客户在多个商店买过东西:

SELECT DISTINCT customer_id, SUM(1)
  FROM ( SELECT DISTINCT customer_id, store_id FROM kalacloud_purchases)
  GROUP BY customer_id HAVING 1 < SUM(1);

every-derived-table-must-have-its-own-alias 1248 错误

运行后,可以看到出现 1248 错误:Every derived table must have its own alias

在这段报错代码中:

FROM ( SELECT DISTINCT customer_id, store_id FROM kalacloud_purchases)

这段命令会先查 kalacloud_purchases 表,然后生成一张新的临时表,如果这个临时表没有命名,就会导致 1248 错误。我们只需要加上 「as 临时表别名」即可修复错误

添加别名,修复1248 错误

加上「AS customer」别名, 这样就解决了这个问题。

这篇关于MySQL「 Every derived table must have its own alias」1248 错误修复法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!