另一种开始 2021-03-30 17:58 采纳率: 0%
浏览 53

SQL脚本插入不了性别属性,一直说太大,怎么回事?

DROP DATABASE IF EXISTS School;
CREATE DATABASE School charset utf8; 
USE School;
CREATE TABLE Student(
  Sno CHAR(9) PRIMARY KEY, 
  Sname CHAR(20) UNIQUE,
  Ssex CHAR(4),
  Sage SMALLINT,
  Sdept CHAR(20)
);

INSERT INTO Student values('201215121','李勇','男',20,'CS');

数据库是mysql,脚本如上,一直在Ssex上报错

信息是ERROR 1406 (22001): Data too long for column 'Ssex' at row 1

把CHAR长度从2调到4后仍然报同样错误,后来发现诡异的一点是把字改成词(比如“男”改成"男人”)就能正常通过,但是不是想要的结果。

不知是何原因,求指教。

  • 写回答

1条回答 默认 最新

  • 另一种开始 2021-03-30 18:13
    关注

    问题解决,原来自己用的vscode编辑器的集成终端不是utf8编码,结果插入语句的时候数据冲突了。换成电脑自带的终端改编码为utf8就行了。

    评论

报告相同问题?

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址