diff --git a/src/Mysql/MysqlDriver.php b/src/Mysql/MysqlDriver.php index d7fb837e0..ddaeb380e 100644 --- a/src/Mysql/MysqlDriver.php +++ b/src/Mysql/MysqlDriver.php @@ -667,6 +667,12 @@ public function insertObject($table, &$object, $key = null) continue; } + // Ignore null integer fields. + if (stristr($tableColumns[$k], 'int') !== false && $v === '') + { + continue; + } + // Prepare and sanitize the fields and values for the database query. $fields[] = $this->quoteName($k); $values[] = $this->quote($v); diff --git a/src/Mysql/MysqlImporter.php b/src/Mysql/MysqlImporter.php index 3fc416fcb..3a2fcad2b 100644 --- a/src/Mysql/MysqlImporter.php +++ b/src/Mysql/MysqlImporter.php @@ -259,7 +259,7 @@ protected function getColumnSql(\SimpleXMLElement $field) else { // TODO Don't quote numeric values. - if (strpos($fDefault, 'CURRENT') !== false) + if (stristr($fDefault, 'CURRENT') !== false) { $sql .= ' NOT NULL DEFAULT CURRENT_TIMESTAMP()'; } diff --git a/src/Mysqli/MysqliDriver.php b/src/Mysqli/MysqliDriver.php index e9c00c3a0..dedd13cbd 100644 --- a/src/Mysqli/MysqliDriver.php +++ b/src/Mysqli/MysqliDriver.php @@ -748,6 +748,12 @@ public function insertObject($table, &$object, $key = null) continue; } + // Ignore null integer fields. + if (stristr($tableColumns[$k], 'int') !== false && $v === '') + { + continue; + } + // Prepare and sanitize the fields and values for the database query. $fields[] = $this->quoteName($k); $values[] = $this->quote($v); diff --git a/src/Mysqli/MysqliImporter.php b/src/Mysqli/MysqliImporter.php index 0e0d9ef50..79a8cfc6c 100644 --- a/src/Mysqli/MysqliImporter.php +++ b/src/Mysqli/MysqliImporter.php @@ -298,7 +298,7 @@ protected function getColumnSql(\SimpleXMLElement $field) else { // TODO Don't quote numeric values. - if (strpos($fDefault, 'CURRENT') !== false) + if (stristr($fDefault, 'CURRENT') !== false) { $sql .= ' NOT NULL DEFAULT CURRENT_TIMESTAMP()'; }