你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / 数据库开发
开发:异常收集之DB2建表相关问题
 

第一次用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] DB2SQL 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 ,表创建完毕

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089