如何在PHP中为SQL数据库将表名设置为相关名?

时间:2013-04-25 04:28:18

标签: php sql sql-server

我正在尝试用PHP编写一行代码,这可能是一个愚蠢的问题,但我是编码的新手。当我尝试运行我的php页面时出现此错误:

  

“查询准备/执行出错。数组([0] =>数组([0] =>   42000 [SQLSTATE] => 42000 [1] => 1013 [code] => 1013 [2] =>   [Microsoft] [SQL Server Native Client 11.0] [SQL Server]对象   FROM子句中的“ACTION”和“action”具有相同的公开名称。   使用相关名称来区分它们。 [message] =>   [Microsoft] [SQL Server Native Client 11.0] [SQL Server]对象   FROM子句中的“ACTION”和“action”具有相同的公开名称。   使用相关名称来区分它们。 ))“

我的问题是如何使用表名的相关名?我有一个名为“action”的表,我正在尝试编写一个包含内部联接的语句,因此数据库不喜欢我正在尝试在INNER JOIN ACTION表上执行action。去图!

我试过研究它,但我一直在寻找设置相关名称的复杂例子。非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

查看此文章,了解有关如何执行此操作的更多详细信息。它归结为Ryan所展示的内容,但提供了更多细节。

此外,还有很多关于如何正确使用这些例子的好读物。

答案 1 :(得分:0)

您只需要为使用action表的每种情况使用唯一的别名。您没有显示您的查询,但它会是这样的:

SELECT *
FROM   ACTION a1
INNER JOIN ACTION a2 ON ...

这样,查询解析器就可以清楚地了解同一个表的每个实例的预期用途。