mysql错误1066

Posted

技术标签:

【中文标题】mysql错误1066【英文标题】:mysql error 1066 【发布时间】:2012-12-04 20:26:54 【问题描述】:
$id=$_GET["id"];
$query= "
SELECT
blomster_produkter.blomster_produkt_id,
blomster_produkter.blomster_produkt_navn,
blomster_produkter.blomster_produkt_pris
FROM
blomster_produkter
INNER JOIN blomster_produkter ON 
blomster_produkter.FK_blomster_produkt_id=blomster_produkter.blomster_produkt_navn     
blomster_produkter.FK_blomster_produkt_id=blomster_produkter.blomster_produkt_pris
blomster_produkter.FK_blomster_produkt_id=blomster_produkter.blomster_produkt_id
WHERE FK_blomster_kategori_id=$id";

为什么这会给我一个 mysql 错误 1066?

(如果我遗漏了一些重要的东西,也很抱歉,这是我在 *** 上提出的第一个问题)

【问题讨论】:

什么错误?可以写这个错误_ 这是诺曼入侵的错误 【参考方案1】:

0.1 秒的谷歌搜索:“mysql 错误 1066” - 不是唯一的表名/别名

    FROM
    blomster_produkter   <--table #1
    INNER JOIN blomster_produkter ON   <-table #2

如果不使用别名,您不能将表连接到自身,或在连接中重复使用相同的表名:

FROM blomster_produkter
INNER JOIN blomster_produkter AS someothername ON
                             ^^^^^^^^^^^^^^^^^--- the alias

然后根据需要在连接条件中更改表引用。

同时,请注意您对sql injection attacks 持开放态度。享受您的服务器 pwn3d。

【讨论】:

【参考方案2】:

错误 1066 是“不是唯一的表/别名”

这是因为你是在没有创建别名的情况下加入一个表,你必须做这样的别名:

SELECT
    bp1.blomster_produkt_id,
    bp1.blomster_produkt_navn,
    bp1.blomster_produkt_pris
    FROM
    blomster_produkter bp1
    INNER JOIN blomster_produkter bp2 ON
    bp1.FK_blomster_produkt_id=bp2.blomster_produkt_navn [...]

【讨论】:

以上是关于mysql错误1066的主要内容,如果未能解决你的问题,请参考以下文章

错误代码:1066。不是唯一的表/别名:'ordertbl' - 无法执行内部连接 ​​MYSQL

帮助 MySQL 查询语法:错误 #1066 - 不是唯一的表/别名

#1066 - 错误不是唯一的表别名

为啥错误 #1066 - 不是唯一的表/别名:'cat_rapoarte'

发生数据库错误错误号:1066 不是唯一的表/别名:[重复]

错误 1066:无法在 Pig 中打开别名的迭代器,通用解决方案