Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz z tabeli, w której pola nie spełniają warunków

Kluczem jest zapytanie sql, które ustawisz jako ciąg:

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

Zauważ, że istnieje wiele sposobów na określenie NIE. Innym, który działa równie dobrze, jest:

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

Oto pełny przykład, jak z niego korzystać:

$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
}

W powyższej pętli while możesz robić, co chcesz. Uzyskaj dostęp do każdego pola tabeli jako elementu $row array co oznacza, że ​​$row['field1'] da ci wartość dla field1 w bieżącym wierszu i $row['field2'] da ci wartość dla field2 .

Zauważ, że jeśli kolumny mogą mieć NULL wartości, nie zostaną one znalezione przy użyciu żadnej z powyższych składni. Będziesz musiał dodać klauzule, aby uwzględnić NULL wartości:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd MySQL 1241:Operand powinien zawierać 1 kolumnę (kolumny)

  2. SQL UPDATE wszystkie wartości w polu z dołączonym ciągiem CONCAT nie działa

  3. Szukam odpowiednika dictcursor w flaskext.mysql

  4. Proste rozwiązywanie problemów z logowaniem PHP SQL

  5. Czy istnieje sposób na uzyskanie ostatniego wstawionego identyfikatora NON-automatycznie zwiększanej kolumny w MySQL?