为什么数据插不进去啊
来源:2-7 完整性约束条件介绍
z晓龙
2019-08-15 17:50:28
-- 用户表 CREATE TABLE IF NOT EXISTS imooc_user( id INT, username VARCHAR(20), password CHAR(32), email varchar(50), age TINYINT, card CHAR(18), tel CHAR(11), salary FLOAT(8,2), married TINYINT(1), addr VARCHAR(100), sex ENUM('男','女','保密') )ENGINE=INNODB CHARSET=UTF8; -- INSERT [INTO] tbl_name(id,username,...) VALUES(1,'king',...) -- 向imooc_user表插入一条记录 INSERT imooc_user(id,username,password,email,age,card,tel,saraly,married,addr,sex) VALUES(1,'king','king','38771946@qq.com',24,'230112197809871234','18838069066',88888.68,0,'上海','男');
3回答
好帮手慕珊
2019-08-16
同学你好,可以按照如下方法进行修改:
1、到MySQL的目录下,找到my.ini文件,如果没有可以自己创建。
添加如下内容:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
2、重启MySQL服务
3、修改数据库和数据表对应字段的编码格式:
(1)修改数据库编码方式
ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
修改完可以使用如下命令查看修改结果:
show variables like 'character_set_database';
(2)修改数据表编码方式
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
修改完可以使用如下命令查看修改数据表的结果:
show create table 表名
(3)修改数据表里字段的编码方式
ALTER TABLE 表名 CHANGE 'addr' VARCHAR(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
(4)重新插入即可。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
z晓龙
提问者
2019-08-16
插入的时候报错,怎么解决
好帮手慕阿满
2019-08-15
同学你好,同学的语句有问题,不存在saraly的列,应该是salary。如:
建议同学修改一下再试试。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
相似问题