首页 > 其他分享 >Error Code: 1171. All parts of a PRIMARY KEY must be NOT NULL

Error Code: 1171. All parts of a PRIMARY KEY must be NOT NULL

时间:2024-01-24 17:01:15浏览次数:25  
标签:Code 1171 int PRIMARY DEFAULT c3 c2 c1 NULL

今天建表时候发现报错了:

CREATE TABLE t3 ( c1 int DEFAULT NULL, c2 int DEFAULT NULL, c3 int NOT NULL, c4 int DEFAULT NULL, PRIMARY KEY (c1,c2,c3) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3

Error Code: 1171. All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead。 原因是:MySQL的主键索引每一个都不能为空。因为需要通过主键来聚簇数据的。

改成如下就可以了:

CREATE TABLE t3 ( c1 int NOT NULL, c2 int NOT NULL, c3 int NOT NULL, c4 int DEFAULT NULL, PRIMARY KEY (c1,c2,c3) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3

参考:https://dev.mysql.com/doc/mysql-errors/8.0/en/server-error-reference.html

标签:Code,1171,int,PRIMARY,DEFAULT,c3,c2,c1,NULL
From: https://blog.51cto.com/thinklili/9400203

相关文章

  • leedcode 二进制求和
    自己写的classSolution:defaddBinary(self,a:str,b:str)->str:a_len=len(a)b_len=len(b)ifa_len<b_len:temp=bb=aa=tempa_len=len(a)b_len=len(b)b_li......
  • idea easyCode插件与velocity语法
    1,idea安装easyCode插件2,设置模板easyCode的教程:https://gitee.com/makejava/EasyCode/wikiseasyCode会有默认的字段类型的对应关系,也可以根据需要自己修改 下面是我自己写的一套(适用于mybatisPlus)##导入宏定义$!define##保存文件(宏定义)#save("/entity",".java")##......
  • [转帖]深入JVM - Code Cache内存池
    深入JVM-CodeCache内存池1.本文内容本文简要介绍JVM的CodeCache(本地代码缓存池)。2.CodeCache简要介绍简单来说,JVM会将字节码编译为本地机器码,并使用CodeCache来保存。每一个可执行的本地代码块,称为一个nmethod。nmethod可能对应一个完整的Java方法,或......
  • hey_left 14 Codeforces Round 849 (Div. 4) 续
    题目链接F.区间修改,单点查询,考虑用树状数组可以维护每个点需要操作的次数然后直接对询问的点进行操作#include<bits/stdc++.h>usingnamespacestd;constintN=2e5+10;#defineintlonglongstructTreeArray{vector<int>tree;TreeArray(intn){......
  • [转帖]细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4
    https://www.cnblogs.com/malecrab/p/5300503.html 1.Unicode与ISO10646全世界很多个国家都在为自己的文字编码,并且互不想通,不同的语言字符编码值相同却代表不同的符号(例如:韩文编码EUC-KR中“한국어”的编码值正好是汉字编码GBK中的“茄惫绢”)。因此,同一份文档,拷贝至不......
  • 【干货】VS Code中配置C/C++运行环境
    1、安装MinGW-w64有个很重要的工具:MinGW-w64,里面包含了在windows上编译调试C++代码所需要的所有环境(以及一些其他的小工具包,例如linux风格的命令ls,将这个包解压缩后的路径添加到系统环境变量PATH中就可以用了)。他的具体的发布和下载位置:Releases·skeeto/w64devkit(github.co......
  • 详解avcodec_encode_video2 AVERROR(EAGAIN)
    详解avcodec_encode_video2AVERROR(EAGAIN)在视频编码过程中,可能会遇到错误码AVERROR(EAGAIN)。本篇技术博客将详细解释avcodec_encode_video2函数中的AVERROR(EAGAIN)错误码的含义,并讨论可能的原因和解决方案。什么是avcodec_encode_video2?avcodec_encode_video2是FFmpeg(一个流行......
  • Leetcode刷题第二天-贪心
    655:非递减数列链接:665.非递减数列-力扣(LeetCode)直接找最大最小值进行替换不行,[1,5,4,6,7,8,9]最大最小值所处位置可能是非递减数列如果nums[i]>nums[i+1],当前这俩个数递减,修改谁,记录前一个数,比较前一个数和当前数的大小,前一个数大,小变大,后一个数大,大变小统计次数,出现两次......
  • 在无公网IP环境下实现VS Code远程开发的方法
    哈喽大家好,我是咕噜美乐蒂,很高兴又见面啦!随着云计算和远程协作的普及,越来越多的开发者选择使用VSCode进行远程开发。然而,有时我们会发现自己处于一个没有公网IP的网络环境,这可能会导致无法直接访问VSCode的远程开发功能。在本文中,我们将探讨一些解决方案,帮助开发者在这种情况下仍......
  • vscode的配置文件
    vscode的配置文件总述:vscode中一般会在项目文件夹下自动生成.vscode文件夹,其中存放若干配置文件(.json),一般有如下文件:下面将解释每个文件的用途与表现。1.c_cpp_propertries.json这个文件是使用vscode进行C++开发时会产生的文件,非C++用户可以直接跳过。其内容大致如下:{......