前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开发:异常收集之 DB2建表相关问题

开发:异常收集之 DB2建表相关问题

作者头像
执笔记忆的空白
发布2020-12-25 11:10:45
7660
发布2020-12-25 11:10:45
举报
文章被收录于专栏:Java日常

第一次用DB2数据库,由于考虑到建表语句可能不一样,所以采用手动建表的办法,一个个字段去填。并勾选主键,最后发现创建失败。看了下系统生成的sql语句

sql语句如下:

CREATE TABLE FRONT.SCORE_REVERSE ( SERIAL_NO VARCHAR(50), SECRET_KEY VARCHAR(50), TRADEBOX_ID INTEGER(32), REDUCE_POINT_TYPE VARCHAR(50), REDUCE_POINT_REASON VARCHAR(50), REDUCE_TIME VARCHAR(50), LOGIN_NAME VARCHAR(50), COMMODITY_ID INTEGER(32), COMMODITY_NUMBER VARCHAR(50), POINT INTEGER(32), CONTACT_NAME VARCHAR(50), CONTACT_MOBILE_NO VARCHAR(50), CONTACT_ADDRESS VARCHAR(50), COMMODITY_TYPE VARCHAR(50), REVERSE_TIME VARCHAR(50), PRIMARY KEY (SERIAL_NO));

提示以下两个错误:

第一个异常:[CREATE - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601] DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=INTEGER;R(50),

由于网上搜不到想要的答案,遂直接看问题,发现提示SQLERRMC=INTEGER;R(50) 于是去掉INTEGER的长度,将INTEGER(32) 改成了INTEGER。 问题解决

第二个异常:DB2 SQL Error: SQLCODE=-542, SQLSTATE=42831, SQLERRMC=SERIAL_NO, DRIVER=4.15.82

这个就让我找不到头脑,经搜索发现,DB2创建主键时,其主键sql必须设置不为空。 也就是要设置为: SERIAL_NO VARCHAR(50) not null, 而系统生成的没有not null

重新修改sql,再次执行 ok ,表创建完毕

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014/11/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档