比如我建立一个表students
name varchar(50) not null
gender varchar(2) not null
point int not null
当我键入mysql指令
insert into students (name) values('zhang');
在家里的电脑上能够成功,但是在单位的会报错提示gender行没有默认值
我想问一下这是什么原因,是mysql版本的原因还是表类型的原因?
name varchar(50) not null
gender varchar(2) not null
point int not null
当我键入mysql指令
insert into students (name) values('zhang');
在家里的电脑上能够成功,但是在单位的会报错提示gender行没有默认值
我想问一下这是什么原因,是mysql版本的原因还是表类型的原因?
set sql_mode='traditional';
重新创建表
-> field1 varchar(30) not null,
-> field2 varchar(30) not null);
Query OK, 0 rows affected (0.06 sec)mysql> select @@sql_mode;
+------------+
| @@sql_mode |
+------------+
| |
+------------+
1 row in set (0.00 sec)mysql> insert into test(field1) values('1111');
Query OK, 1 row affected, 1 warning (0.03 sec)mysql> set sql_mode='traditional';
Query OK, 0 rows affected (0.01 sec)mysql> insert into test(field1) values('1111');
ERROR 1364 (HY000): Field 'field2' doesn't have a default valuemysql> select version();
+---------------------+
| version() |
+---------------------+
| 5.0.45-community-nt |
+---------------------+
1 row in set (0.00 sec)