Mehrdeutiger Spaltenname

8
___ qstnhdr ___ Mehrdeutiger Spaltenname ___ answer3230037 ___

Haben Sie versucht, den ID-Spaltennamen in der where-Klausel voran zu setzen?

    
___ answer3230043 ___

Es bezieht sich auf "id" in Ihrer where-Klausel. Sie müssen angeben, welche "ID" der Tabelle gefiltert werden soll.

    
___ tag123sql ___ Structured Query Language (SQL) ist eine Sprache für die Abfrage von Datenbanken. Fragen sollten Codebeispiele, Tabellenstruktur, Beispieldaten und ein Tag für die verwendete DBMS-Implementierung (z. B. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 usw.) enthalten. Wenn sich Ihre Frage nur auf ein bestimmtes DBMS bezieht (verwendet bestimmte Erweiterungen / Funktionen), verwenden Sie stattdessen das Tag des DBMS. Antworten auf mit SQL gekennzeichnete Fragen sollten den ISO / IEC-Standard SQL verwenden. ___ answer20216881 ___

Ich habe Ihren Code ersetzt

%Vor%     
___ answer3230038 ___

Die ID Ihrer WHERE-Klausel muss spezifischer sein und den Tabellennamen enthalten:

%Vor%

Wenn zwei Dinge denselben Namen haben, tritt die Mehrdeutigkeit ein. In diesem Fall enthalten mehrere Tabellen in Ihrem SQL die Spalte "id".

SQL verfügt über die Intelligenz, um Spaltennamen zu disambiguieren, wenn der Spaltenname innerhalb des aktuellen Tabellensatzes eindeutig ist - daher müssen Sie den Spaltennamen meistens keinen Tabellennamen voranstellen.

    
___ answer3230032 ___

höchstwahrscheinlich mehr als eine Tabelle hat eine Spalte namens id; Verwenden Sie ein Tabellenpräfix in der where-Klausel

    
___
Cameron 12.07.2010, 16:01
quelle

5 Antworten

21

Die ID Ihrer WHERE-Klausel muss spezifischer sein und den Tabellennamen enthalten:

%Vor%

Wenn zwei Dinge denselben Namen haben, tritt die Mehrdeutigkeit ein. In diesem Fall enthalten mehrere Tabellen in Ihrem SQL die Spalte "id".

SQL verfügt über die Intelligenz, um Spaltennamen zu disambiguieren, wenn der Spaltenname innerhalb des aktuellen Tabellensatzes eindeutig ist - daher müssen Sie den Spaltennamen meistens keinen Tabellennamen voranstellen.

    
Adam Houldsworth 12.07.2010, 16:03
quelle
6

höchstwahrscheinlich mehr als eine Tabelle hat eine Spalte namens id; Verwenden Sie ein Tabellenpräfix in der where-Klausel

    
Steven A. Lowe 12.07.2010 16:02
quelle
4

Haben Sie versucht, den ID-Spaltennamen in der where-Klausel voran zu setzen?

    
Brian Hooper 12.07.2010 16:03
quelle
2

Es bezieht sich auf "id" in Ihrer where-Klausel. Sie müssen angeben, welche "ID" der Tabelle gefiltert werden soll.

    
David 12.07.2010 16:03
quelle
0

Ich habe Ihren Code ersetzt

%Vor%     
SagarPPanchal 26.11.2013 12:17
quelle

Tags und Links