米兰的小铁匠z 2020-01-11 18:57 采纳率: 25%
浏览 957
已采纳

MySQL初学者报出1265错误代码求助大神


SELECT DATABASE();

CREATE TABLE employe(id INT ,NAME VARCHAR(20) NOT NULL); #在创建表的时候就进行约束

SELECT *FROM employe;

INSERT INTO employe(id,NAME)VALUE(33,NULL); 

INSERT INTO employe(id,NAME)VALUE(33,"liuzeyu");

ALTER TABLE employe MODIFY NAME VARCHAR(20) ; #修改为name值可为null


ALTER TABLE employe MODIFY NAME VARCHAR(20) NOT NULL; #创建表之后修改为name值可为not null

此时会出现一个错误:

在这里插入图片描述

这个问题待解决请指教。

最后是通过度娘解决了这个问题:


UPDATE employe SET NAME=0 WHERE NAME IS NULL;

然后就可以创建表之后修改为name值可为not null,至于为什么将空值替换成0作为初学者表示没看懂。

而且我操作完这一条语句后,创建其它的表执行类似上述的操作再也没遇到1265错误代码了,为什么呢?

  • 写回答

2条回答 默认 最新

  • 德玛洗牙 2020-01-13 09:17
    关注

    你这是先创建表的时候name是可以为空,然后将带null的纪录插入后,再将表的name修改为不为空出的错吧。表里有null值而你又要讲该列设置为不能为null,冲突了所有就报错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题