MySQL ignores the NOT NULL constraint
        Posted  
        
            by Marga Keuvelaar
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Marga Keuvelaar
        
        
        
        Published on 2010-03-23T21:20:28Z
        Indexed on 
            2010/03/23
            22:03 UTC
        
        
        Read the original article
        Hit count: 379
        
I have created a table with NOT NULL constraints on some columns in MySQL. Then in PHP I wrote a script to insert data, with an insert query. When I omit one of the NOT NULL columns in this insert statement I would expect an error message from MySQL, and I would expect my script to fail. Instead, MySQL inserts empty strings in the NOT NULL fields. In other omitted fields the data is NULL, which is fine. Could someone tell me what I did wrong here? 
I'm using this table:
CREATE TABLE IF NOT EXISTS tblCustomers (
  cust_id int(11) NOT NULL AUTO_INCREMENT,
  custname varchar(50) NOT NULL,
  company varchar(50),
  phone varchar(50),
  email varchar(50) NOT NULL,
  country varchar(50) NOT NULL,
  ...
  date_added timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (cust_id)
) ;
And this insert statement:
$sql = "INSERT INTO tblCustomers (custname,company) 
        VALUES ('".$customerName."','".$_POST["CustomerCompany"]."')";
$res = mysqli_query($mysqli, $sql);
        © Stack Overflow or respective owner