很久之前在微博就看到:
刚刚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)
刚刚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)
具体要看是什么语言,什么接口,什么代码.
弱类型的语言+怪异的逻辑+不严格的代码, 阴差阳错地产生蝴蝶效应.