0

我对 MariaDB 10 有一个非常奇怪的问题,它自动简化了一些逻辑表达式!这是一个例子

    CREATE VIEW test AS
  SELECT 1
  FROM test_table
  WHERE NOT (1 < 2 OR 3 > 4);

SHOW CREATE VIEW test;

CREATE ALGORITHM = UNDEFINED
  DEFINER =`root`@`localhost`
  SQL SECURITY DEFINER VIEW `test` AS
  SELECT 1 AS `1`
  FROM `test_table`
  WHERE ((1 >= 2) AND (3 <= 4))

如您所见,它已将表达式NOT (1 < 2 OR 3 > 4)转换为((1 >= 2) AND (3 <= 4)) ,因为它在区间情况下不正确

4

1 回答 1

0

MariaDB 应用了http://en.wikipedia.org/wiki/De_Morgan%27s_laws之一。为什么你认为它不正确?

于 2015-02-12T18:40:42.133 回答