课程相关问题

来源:2-7 完整性约束条件介绍

qq_粽翎_0

2019-12-02 16:44:33

CREATE DATABASE imooc;

USE imooc;

CREATE TABLE IF NOT EXISTS 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 user(id,username,password,email,age,card,tel,salary,married,addr,sex) 
VALUES(1,'root','123','76126521@qq.com',20,'1365489512','15648975621',154685.32,0,'北京','男');

我也是跟着老师敲的,应该是没问题的,但是运行后报了这个错误

ERROR 1366 (HY000): Incorrect string value: '\xB1\xB1\xBE\xA9' for column 'addr' at row 1

在地址处出错了,这个好像是编码的问题导致的吧,可是前面已经把编码设置为utf-8了,咋回事,求解!

写回答

1回答

好帮手慕珊

2019-12-02

同学,你好!有可能字段不是utf8编码,创建表格时在addr字段后面加上CHARACTER SET utf8再试试。

http://img.mukewang.com/climg/5de4dfd909eb2bb403640282.jpg

另外,还用下面语句查看一下表格字段的字符集。

SHOW FULL COLUMNS FROM imooc_user;  

http://img.mukewang.com/climg/5de4e04c09e0a56911940545.jpg

如果字符集都没问题还是不能插入中文,建议装一个mysql的客户端,比如mysql官方的workbench,或者Navicat试试。之前也有同学字符集都改了还是报错,换成其他工具就可以了。有的时候是控制台本身的问题。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 8016 问题

查看课程