MariaDB: Insert mit NULL wird nicht abgelehnt

WLemmy

Benutzer
Beiträge
10
Hallo,

MariaDB (5.5.65-MariaDB) mit
Code:
SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;

@@SQL_MODE                      |@@GLOBAL.SQL_MODE|
--------------------------------|-----------------|
IGNORE_SPACE,STRICT_TRANS_TABLES|                 |

auf CentOS 7

Ich habe eine Tabelle mit

Code:
CREATE TABLE `X` (
  `foo` varchar(42) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
  `bar` char(6) COLLATE utf8_unicode_ci NOT NULL,
  `foBar` date DEFAULT NULL,
  PRIMARY KEY (`Foo`,`bar`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

wenn ich dort einen Insert absetze (per Konsole mysql, DBeaver,...) mit Foo oder Bar = NULL dann kommt die korrekte Fehlermeldung zurück: Column Foo / Bar cannot be null


Mach ich das über "meine" Anwendung (Lazarus mit MyDac von Devart), dann wird in der Tabelle ein Datensatz angelegt, die eigentlich NULL Felder werden als Leertext befüllt.
Im SQL-Monitor der Anwendung wie auch im "global_log" des Servers wird der entsprechende SQL-Befehlt korrekt mit NULL angegeben:

Code:
INSERT INTO X(foo, bar, fobar) VALUES (NULL,'514000','2020-05-18 00:00:00'), ('3401413600:1',NULL,'2020-05-15 00:00:00')

Auch wenn ich nach dem Insert ein SHOW WARNINGS; aufrufe, kommt an der Stelle nix vom Server zurück.

Gibt es irgend eine Verbindungseinstellung (oder auch was anderes) bei MariaDB die ein solches Verhalten erklären würde?

Grüße
 
Werbung:
Zurück
Oben