程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 開發:異常收集之DB2建表相關問題

開發:異常收集之DB2建表相關問題

編輯:DB2教程

開發:異常收集之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] 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 ,表創建完畢

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved