Latest web development tutorials

MySQL NULL nilai pengolahan

Kita sudah tahu MySQL menggunakan perintah SQL SELECT dengan klausa WHERE untuk membaca data dalam tabel data, tapi bidang kriteria permintaan tersedia ketika NULL, perintah tidak dapat bekerja dengan baik ketika.

Untuk menangani kasus ini, MySQL menyediakan tiga operator besar:

  • IS NULL: Ketika nilai kolom adalah NULL, operator mengembalikan nilai true.
  • IS NOT NULL: Ketika nilai kolom tidak NULL, operator mengembalikan nilai true.
  • <=>: Operator Perbandingan (= yang berbeda dari operator) dan mengembalikan nilai true ketika membandingkan dua nilai adalah NULL.

Tentang NULL operasi kondisi perbandingan khusus. Anda tidak dapat menggunakan = NULL atau! = NULL menemukan nilai-nilai NULL di kolom.

Dalam MySQL, nilai NULL dibandingkan dengan nilai lain (bahkan NULL) selalu mengembalikan false, yaitu, mengembalikan NULL = NULL palsu.

MySQL penanganan NULL menggunakan IS NULL dan IS NOT Operator NULL.


nilai-nilai NULL pada command prompt

Contoh berikut mengasumsikan bahwa database w3big tabel tcount_tbl mengandung dua w3big_author dan w3big_count, w3big_count mengatur insert nilai NULL.

contoh

Coba contoh berikut:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use w3big;
Database changed
mysql> create table tcount_tbl
    -> (
    -> w3big_author varchar(40) NOT NULL,
    -> w3big_count  INT
    -> );
Query OK, 0 rows affected (0.05 sec)
mysql> INSERT INTO tcount_tbl
    -> (w3big_author, w3big_count) values ('mahran', 20);
mysql> INSERT INTO tcount_tbl
    -> (w3big_author, w3big_count) values ('mahnaz', NULL);
mysql> INSERT INTO tcount_tbl
    -> (w3big_author, w3big_count) values ('Jen', NULL);
mysql> INSERT INTO tcount_tbl
    -> (w3big_author, w3big_count) values ('Gill', 20);

mysql> SELECT * from tcount_tbl;
+-----------------+----------------+
| w3big_author | w3big_count |
+-----------------+----------------+
| mahran          |             20 |
| mahnaz          |           NULL |
| Jen             |           NULL |
| Gill            |             20 |
+-----------------+----------------+
4 rows in set (0.00 sec)

mysql>

Contoh berikut Anda dapat melihat = dan = operator tidak bekerja !:

mysql> SELECT * FROM tcount_tbl WHERE w3big_count = NULL;
Empty set (0.00 sec)
mysql> SELECT * FROM tcount_tbl WHERE w3big_count != NULL;
Empty set (0.01 sec)

Cari tabel data w3big_count apakah kolom adalah NULL, Anda harus menggunakan IS NULL dan IS NOT NULL, contoh-contoh berikut:

mysql> SELECT * FROM tcount_tbl 
    -> WHERE w3big_count IS NULL;
+-----------------+----------------+
| w3big_author | w3big_count |
+-----------------+----------------+
| mahnaz          |           NULL |
| Jen             |           NULL |
+-----------------+----------------+
2 rows in set (0.00 sec)
mysql> SELECT * from tcount_tbl 
    -> WHERE w3big_count IS NOT NULL;
+-----------------+----------------+
| w3big_author | w3big_count |
+-----------------+----------------+
| mahran          |             20 |
| Gill            |             20 |
+-----------------+----------------+
2 rows in set (0.00 sec)

nilai NULL pengolahan Pakai skrip PHP

PHP script Anda dapat jika ... pernyataan lain untuk menangani jika variabel kosong, dan menghasilkan pernyataan kondisional yang sesuai.

Contoh berikut menetapkan $ variabel w3big_count PHP, kemudian menggunakan variabel dengan tabel data w3big_count ladang perbandingan:

<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
if( isset($w3big_count ))
{
   $sql = 'SELECT w3big_author, w3big_count
           FROM  tcount_tbl
           WHERE w3big_count = $w3big_count';
}
else
{
   $sql = 'SELECT w3big_author, w3big_count
           FROM  tcount_tbl
           WHERE w3big_count IS $w3big_count';
}

mysql_select_db('w3big');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
    echo "Author:{$row['w3big_author']}  <br> ".
         "Count: {$row['w3big_count']} <br> ".
         "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>