0

我有以下从 MySQL 转储的 SQL 命令。我应该如何使它成为 HANA DB 可接受的版本?

CREATE SCHEMA foodb;
SET SCHEMA foodb;

--- DROP TABLE  auth_privilege;
CREATE COLUMN TABLE auth_privilege (
  ID BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '0:league, 1:team, 2:leagueteam, 3:match',
  USER_ID BIGINT(20) NOT NULL,
  TYPE INT(10) NOT NULL,
  LEAGUE_ID BIGINT(20) DEFAULT NULL,
  TEAM_ID BIGINT(20) DEFAULT NULL,
  LEAGUETEAM_ID BIGINT(20) DEFAULT NULL,
  MATCH_ID BIGINT(20) DEFAULT NULL,
  PRIMARY KEY (ID),
  KEY FK_USER_ID_privilege (USER_ID),
  KEY FK_LEAGUE_ID_privilege (LEAGUE_ID),
  KEY FK_TEAM_ID_privilege (TEAM_ID),
  KEY FK_LEAGUETEAM_ID_privilege (LEAGUETEAM_ID),
  KEY FK_MATCH_ID_privilege (MATCH_ID),
  CONSTRAINT FK_LEAGUETEAM_ID_privilege FOREIGN KEY (LEAGUETEAM_ID) REFERENCES tf_leagueteam (ID),
  CONSTRAINT FK_LEAGUE_ID_privilege FOREIGN KEY (LEAGUE_ID) REFERENCES td_league (ID),
  CONSTRAINT FK_MATCH_ID_privilege FOREIGN KEY (MATCH_ID) REFERENCES tf_match (ID),
  CONSTRAINT FK_TEAM_ID_privilege FOREIGN KEY (TEAM_ID) REFERENCES td_team (ID),
  CONSTRAINT FK_USER_ID_privilege FOREIGN KEY (USER_ID) REFERENCES auth_user (ID)
);

...... It continues

这是我通过一些初学者修改从倾倒的 MySQL 中得到的。你建议怎么做才能让它工作?

此外,如果您知道任何外部工具自行进行此转换,那么最好去。

来自上述陈述的错误

Could not execute 'CREATE COLUMN TABLE auth_privilege ( ID BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '0:league, ...' in 67 ms 771 µs . 
SAP DBTech JDBC: [257] (at 43): sql syntax error: incorrect syntax near "(": line 2 col 6 (at pos 43) 
4

1 回答 1

0

数据类型BIGINT不允许您指定长度。因此,您可能不想使用长度为 20 的 bigint (不存在),而是使用常规的INTEGER.

为了您的比较:

BIGINT
    64 Bit Integer
    Min Value:  −9.223.372.036.854.775.808
    Max Value:   9.223.372.036.854.775.807

INTEGER
    32 Bit Integer
    Min Value:  −2.147.483.648
    Max Value:   2.147.483.647

另请参阅 http://support.sas.com/documentation/cdl/en/ds2ref/67313/HTML/default/viewer.htm#n1lucga3y42edtn1mpsgct68t28t.htm

于 2014-09-19T17:45:40.507 回答