我跑MySql在ubuntu 10.10.我创建了一个名为'employee'3字段名称empno,名称和工资的表.插入了几个实体.在过程的中间,我想将薪水属性更改为'NOT NULL'.我改变了桌子
ALTER TABLE employee MODIFY salary int(10) NOT NULL;
Run Code Online (Sandbox Code Playgroud)
查询已执行.我想用命令测试,
UPDATE employee SET salary=NULL;
Query OK, 15 rows affected, 15 warnings (0.06 sec)
Rows matched: 15 Changed: 15 Warnings: 15
Run Code Online (Sandbox Code Playgroud)
也发出警告 " (Code 1048): Column 'salary' cannot be null "(每一行重复)
但是当我看到我的桌子时,所有的工资都是Zeros('0').
在WINDOWS XP的MySql中,相同的查询会导致错误而不是警告
我检查了INNODB和MYISAM引擎,但结果相同.请帮我了解加工过程中发生的事情.
Qua*_*noi 12
您不能SQL_MODE对ubuntu安装设置严格.
问题
SET SQL_MODE='STRICT_ALL_TABLES'
Run Code Online (Sandbox Code Playgroud)
或添加
SQL_MODE='STRICT_ALL_TABLES'
Run Code Online (Sandbox Code Playgroud)
在[mysqld]你my.cnf的下面Ubuntu.
| 归档时间: |
|
| 查看次数: |
3003 次 |
| 最近记录: |