//my.ini修改前
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.7.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.7.17-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
//my.ini修改后
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql\mysql-5.7.17-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\mysql-5.7.17-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 其实就是加入了这句
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
然后重启mysql,需要注意的是这里必须以管理员身份运行cmd,否则会报错!
//非管理员身份运行
D:\mysql\mysql-5.7.17-winx64\bin>net stop mysql
发生系统错误 5。
拒绝访问。
//管理员身份运行
D:\mysql\mysql-5.7.17-winx64\bin>net stop mysql
MySQL 服务正在停止..
MySQL 服务已成功停止。
D:\mysql\mysql-5.7.17-winx64\bin>net start mysql
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
再次登录mysql,建表。
mysql> create table ExpenseClaimRecords(
-> ECno int NOT NULL,
-> Project_name nvarchar(30) NOT NULL,
-> Date timestamp NOT NULL,
-> Total decimal(6,2) NOT NULL,
-> create_by nvarchar(64) NOT NULL,
-> create_date timestamp NOT NULL,
-> update_by nvarchar(64) NOT NULL,
-> update_date timestamp NOT NULL,
-> remarks nvarchar(255),
-> del_flag char(1) NOT NULL,
-> CONSTRAINT key_number PRIMARY KEY(ECno)
-> );
Query OK, 0 rows affected (0.06 sec)
mysql> create table ExpenseClaimDetails(
-> ECno int NOT NULL,
-> Transportation decimal(6,2) NOT NULL,
-> Meals decimal(6,2) NOT NULL,
-> Office_Stationery decimal(6,2) NOT NULL,
-> Others decimal(6,2) NOT NULL,
-> Total decimal(6,2) NOT NULL,
-> create_by nvarchar(64) NOT NULL,
-> create_date timestamp NOT NULL,
-> update_by nvarchar(64) NOT NULL,
-> update_date timestamp NOT NULL,
-> remarks nvarchar(255),
-> del_flag char(1) NOT NULL,
-> CONSTRAINT key_number PRIMARY KEY(ECno)
-> );
Query OK, 0 rows affected (0.04 sec)