sql >> Databasteknik >  >> RDS >> Mysql

Välj från en tabell där fälten inte matchar villkoren

Nyckeln är sql-frågan, som du kommer att ställa in som en sträng:

$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";

Observera att det finns många sätt att ange INTE. En annan som fungerar lika bra är:

$sqlquery = "SELECT field1, field2 FROM table WHERE columnA != 'x' AND columbB != 'y'";

Här är ett fullständigt exempel på hur man använder det:

$link = mysql_connect($dbHost,$dbUser,$dbPass) or die("Unable to connect to database");
mysql_select_db("$dbName") or die("Unable to select database $dbName");
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
$result=mysql_query($sqlquery);

while ($row = mysql_fetch_assoc($result) {
//do stuff
}

Du kan göra vad du vill inom ovanstående while-loop. Få åtkomst till varje fält i tabellen som ett element i $row array vilket betyder att $row['field1'] ger dig värdet för field1 på den aktuella raden och $row['field2'] ger dig värdet för field2 .

Observera att om kolumnen/kolumnerna kan ha NULL värden, kommer de inte att hittas med någon av syntaxerna ovan. Du måste lägga till satser för att inkludera NULL värden:

$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";


  1. Hur använder man en främmande nyckel i sqlite?

  2. Visualisera data

  3. Hur man ställer in en WordPress MySQL-databas i molnet

  4. MYSQL trunkerat felaktigt DOUBLE-värde