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

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条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题