很久之前在微博就看到:
刚刚helpdesk一同事跟我说,今天新来一员工,英文名叫null。账号创建之后,现在公司所有的管理系统都崩溃了一直都现在才想起,但是我不明白这到底是怎么回事,是不是数据库那边的问题??
但是自己实践下,貌似不是这样,到底是怎么回事??
不懂,求解
我用的是mysql
以下是sql代码:mysql> show tables;
+-----------------+
| Tables_in_study |
+-----------------+
| emp             |
| test            |
+-----------------+
2 rows in set (0.02 sec)mysql> insert into test(name) value("hua");
Query OK, 1 row affected (0.08 sec)mysql>select * from test;
+----+------+
| id | name |
+----+------+
|  1 | hua  |
+----+------+
1 row in set (0.00 sec)mysql> insert into test(name) value("null");
Query OK, 1 row affected (0.02 sec)mysql> insert into test(name) value(null);
Query OK, 1 row affected (0.02 sec)mysql> select * from test;
+----+------+
| id | name |
+----+------+
|  1 | hua  |
|  2 | null |
|  3 | NULL |
+----+------+
3 rows in set (0.00 sec)

解决方案 »

  1.   

    就是他家的程序把字符串'NULL' 当作NULL.
    具体要看是什么语言,什么接口,什么代码.
    弱类型的语言+怪异的逻辑+不严格的代码, 阴差阳错地产生蝴蝶效应.
      

  2.   

    名字应该是字符类型,即使叫null也不会出错吧,莫非你的系统的名字不是字符类型?