Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 221
  • Last Modified:

MySQL - I don't understand

See attached. This is a small sample of a table (named "customer") that I have.

Notice the column called cutype in most cases the value is NULL (in italics), I don't know what that means.

I run this query: DELETE from customer where cutype <> 'i'

It deletes the 79 rows that have blank (not NULL) in the column.

It leaves all the rest.

Actually, at this moment, there are NO rows in the table where cutype = 'i'.

Why does it leave the NULL ones? That is not a value of 'i'.

Thanks
cutype.jpg
0
Richard Korts
Asked:
Richard Korts
1 Solution
 
mankowitzCommented:
Null isn't really an empty value so much as it is the absense of any value. The way to check for null is by using IS NULL. For example, to delete rows where cutype is null, you'd have to do this:

DELETE FROM customer WHERE cutype IS NULL;

if you want to get rid of anything that is either null or NOT i, do this:

DELETE FROM customer WHERE cutype IS NULL OR cutype <> 'i';
0
 
GaryCommented:
NULL values are a bit special
http://dev.mysql.com/doc/refman/5.1/en/working-with-null.html

If you want to delete rows with NULL values you have to declare them

    DELETE from customer where cutype <> 'i' OR cutype IS NULL
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now