CREATE TABLE mytable( myid INT AUTO_INCREMENT, gxx INT, name VARCHAR(255) UNIQUE DEFAULT NULL, sxxxx CHAR(8) NOT NULL, exxxxxx CHAR(1) DEFAULT "Y" NOT NULL, mac CHAR(128), addr1xxx CHAR(128) NOT NULL UNIQUE, addr2xxxxxxxx CHAR(128) NOT NULL, cxxxxxxxxxxxxx CHAR(128), cnxxxxxxxx CHAR(1) DEFAULT "N", PRIMARY KEY (myid), CONSTRAINT Refgrid25 FOREIGN KEY (gxx) REFERENCES grid(gxx) ON DELETE RESTRICT ON UPDATE RESTRICT)TYPE=INNODB ; $sth = $dbh->prepare("INSERT INTO mytable (myid, sxxxx, cnxxxxxxxx, addr1xxx, addr2xxxxxxxx, name) VALUES(?, ?, ?, ?, ?, ?)"); $sth->bind_param_array(1, $myid); $sth->bind_param_array(2, $sxxxx); $sth->bind_param_array(3, "Y"); $sth->bind_param_array(4, $addr1); $sth->bind_param_array(5, $addr2); $sth->bind_param_array(6, $name); $sth->execute_array( { ArrayTupleStatus => \my @tuple_status } ); $sth->finish(); $myid = $dbh->{'mysql_insertid'}; $dbh->disconnect; [root@dbvm4 ~]# mysql smdb Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10399 to server version: 5.0.22-log Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> describe mytable; +----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+--------------+------+-----+---------+----------------+ | myid | int(11) | NO | PRI | NULL | auto_increment | | gxx | int(11) | YES | MUL | NULL | | | name | varchar(255) | YES | UNI | NULL | | | sxxxx | char(8) | NO | | NULL | | | exxxxxx | char(1) | NO | | Y | | | mac | char(128) | YES | | NULL | | | addr1xxx | char(128) | NO | UNI | NULL | | | addr2xxxxxxxx | char(128) | NO | | NULL | | | cxxxxxxxxxxxxx | char(128) | YES | | NULL | | | cnxxxxxxxx | char(1) | YES | | N | | +----------------+--------------+------+-----+---------+----------------+ 10 rows in set (0.04 sec) mysql> SELECT * from mytable; +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | 1 | 1 | dbvm4 | ST | Y | NULL | 192.168.22.11 | 10.10.15.4/16 | NULL | Y | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ 1 row in set (0.00 sec) mysql> SELECT * from mytable WHERE mac IS NULL; Empty set (0.00 sec) mysql> SELECT * from mytable WHERE mac=""; +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | 1 | 1 | dbvm4 | ST | Y | NULL | 192.168.22.11 | 10.10.15.4/16 | NULL | Y | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ 1 row in set (0.00 sec) mysql> INSERT INTO mytable SET gxx=1, sxxxx='ST', cnxxxxxxxx='Y', addr1xxx='ia', addr2xxxxxxxx='pea', name='nm'; Query OK, 1 row affected (0.00 sec) mysql> SELECT * from mytable; +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | 1 | 1 | dbvm4 | ST | Y | NULL | 192.168.22.11 | 10.10.15.4/16 | NULL | Y | | 2 | 1 | nm | ST | Y | NULL | ia | pea | NULL | Y | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ 2 rows in set (0.00 sec) mysql> SELECT * from mytable WHERE mac=""; +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | 1 | 1 | dbvm4 | ST | Y | NULL | 192.168.22.11 | 10.10.15.4/16 | NULL | Y | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ 1 row in set (0.00 sec) mysql> SELECT * from mytable WHERE mac IS NULL; +------+------+------+-------+---------+------+----------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+------+-------+---------+------+----------+---------------+----------------+------------+ | 2 | 1 | nm | ST | Y | NULL | ia | pea | NULL | Y | +------+------+------+-------+---------+------+----------+---------------+----------------+------------+ 1 row in set (0.00 sec) mysql> DELETE FROM mytable WHERE myid=2; Query OK, 1 row affected (0.00 sec) mysql> SELECT * from mytable; +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | 1 | 1 | dbvm4 | ST | Y | NULL | 192.168.22.11 | 10.10.15.4/16 | NULL | Y | +------+------+-------+-------+---------+------+---------------+---------------+ ----------------+------------+ 1 row in set (0.00 sec) mysql> SELECT * from mytable WHERE mac IS NULL; Empty set (0.00 sec) mysql> SELECT * from mytable WHERE mac=''; +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | myid | gxx | name | sxxxx | exxxxxx | mac | addr1xxx | addr2xxxxxxxx | cxxxxxxxxxxxxx | cnxxxxxxxx | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ | 1 | 1 | dbvm4 | ST | Y | NULL | 192.168.22.11 | 10.10.15.4/16 | NULL | Y | +------+------+-------+-------+---------+------+---------------+---------------+----------------+------------+ 1 row in set (0.00 sec) Using mysql --xml : mysql> SELECT * from mytable WHERE mac=""; 1 1 dbvm4 ST Y 192.168.22.11 Y 1 row in set (0.00 sec)