there can be only one auto column and it must be defined as a key原因以及解决办法
文章目录
- 现状
- 原因
- 解决
转载请标明出处:
https://bigmaning.blog.csdn.net/article/details/124448508
本文出自:【BigManing的博客】
现状
新建表时出错:
-- 教师表
create table Teacher(
tid int not null auto_increment,
tname varchar(10)
);
报错如下:
org.jkiss.dbeaver.model.sql.DBSQLException: SQL 错误 [1075] [42000]: Incorrect table definition; there can be only one auto column and it must be defined as a keyat org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:135)at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:492)at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$0(SQLQueryJob.java:427)at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:170)at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:419)at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:779)at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:2966)at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:111)at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:170)at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:109)at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$17.run(ResultSetViewer.java:3582)at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:103)at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.sql.SQLSyntaxErrorException: Incorrect table definition; there can be only one auto column and it must be defined as a keyat com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:763)at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648)at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:342)at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:132)... 12 more
原因
auto_increment
修饰的字段必须是主键
解决
给自增字段添加primary key
-- 教师表
create table Teacher(
tid int not null primary key auto_increment,
tname varchar(10)
);
there can be only one auto column and it must be defined as a key原因以及解决办法相关推荐
- mysql报错 Incorrect table definition;there can be only one auto column and it must be defined as a key
问题描述:MySQL建时表报错:Incorrect table definition;there can be only one auto column and it must be defined ...
- Incorrect table definition; there can be only one auto column and it must be defined as a key
今天在复习mysql的基本语句时,创建一个表,原来建表语句如下: CREATE TABLE test4 ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, NAME ...
- 1075 - Incorrect table definition;there can be only one auto column and it must be defined as a key
参考地址:https://blog.csdn.net/you23hai45/article/details/49336737
- 1075-Incorrect table definition; there can be only one auto column and it must be defined as a key
问题: 创建新表时,id字段设置自动递增,保存设计表时弹出提示 分析: 设置自动递增的字段为id,要不设置为主键,就会提示,因为这是不允许的 解决: 设置自动递增的字段id,再设置为主键即可
- python报错:xml.parsers.expat.ExpatError: not well-formed (invalid token): line 3, column 1的解决办法
本篇文章主要讲解,python报错:xml.parsers.expat.ExpatError: not well-formed (invalid token): line 3, column 1的解决 ...
- Mysql错误1366的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1
Mysql错误1366的解决办法:Incorrect string value: '\xF0\x9F...' for column 'XXX' at row 1 原因是UTF-8编码有可能是两个.三个 ...
- mysql 4 字节存储问题_关于mysql存储过程存储4字节emoj的'\xF0\x9F\x98\x82' for column ``.``.`p_topicname`问题的解决办法...
一.问题背景 背景很简单,要存4字节的表情符号,mysql表的相关字段的字符集需要修改成utf8mb4,这个没啥好说的,网上一大堆的类似的解决方法,问题是项目里面使用了存储过程,在利用java调用存储 ...
- mysql too long_mysql中data too long for column错误的一种解决办法
首先说明一下问题先: 本人做了一个在线知识仓库之类的JSP小网站,页面编码为UTF-8,但在运行中老是出现乱码,经检查发现是mysql数据库出现了问题. Q1.不能插入中文的数据,一插入就会提示dat ...
- Data too long for column ‘xxxx‘ at row 1 解决办法
问题现象描述 Data too long for column 'xxxx' at row 1 1.第一种情况就是很普遍的,xxx字段长度不够 在数据库中修改表结构 将该字段长度改大一些,再或者将类型 ...
最新文章
- FFmpeg通过摄像头实现对视频流进行解码并显示测试代码(旧接口)
- 2021-05-20 Matlab实现傅里叶变换
- Knative Serving 进阶: Knative Serving SDK
- ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
- esp8266接收到的数据如何存放到数组中_Java中HashMap的实现原理
- matlab 处理dat文件画图,matlab_DAT_processing matlab处理dat文件并进行绘图 - 下载 - 搜珍网...
- linux安装python和pip3,Linux安装python3.6 和pip
- 传输信道加密Stunnel配置
- 软件基本功:不要给代码加系数
- mysql数据库如果从C盘迁移到D盘
- Go程序设计语言读书笔记-1
- 智能网联汽车——传感器与驾驶辅助
- 星加坡php开发_PHP 中文简繁互转代码 完美支持大陆、香港、台湾及新加坡
- 关于网络的命令及介绍
- win10电脑鼠标右键菜单中的选项提示没有关联的应用应用来执行操作以及工具栏点击没反应的解决方案
- Python-打印指定范围内的全部回文素数(高教社,《Python编程基础及应用》习题8-7) (10分) 回文素数是指一个数既是素数又是回文数,例如131既是素数又是回文数。
- matlab 求其骨架,数字图像处理图像的骨架生成和提取(Matlab)三种方法
- 基于 移远 BC26 移柯BL620的NB模块调试流程
- 小技巧,IDEA 卡住不动解决办法
- Java IO 之BIO讲解