MySQL建表时列名同保留字重复问题解决办法

建表时遇到遇到属性名同MySQL的保留字相同导致不能建表的问题,如下SQL语句:

CREATE TABLE

TBL_ACCOUNT_FROZEN_RECORD

(

ID BIGINT NOT NULL AUTO_INCREMENT,

TRADE_FLOW_ID VARCHAR(60) NOT NULL,

ACCOUNT_NO VARCHAR(32) NOT NULL,

INITIATOR VARCHAR(16) NOT NULL,

OPERATE_TYPE VARCHAR(32) NOT NULL,

CREDENTIAL VARCHAR(36),

MODIFY_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

UNFROZEN_DATE TIMESTAMP,

REASON VARCHAR(200),

DESCRIBE VARCHAR(200),

CREATE_DATE TIMESTAMP,

CONSTRAINT P_Key_1 PRIMARY KEY (ID)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

其中DESCRIBE为MySQL保留字,要想新建包含该列名的表,需要对该字段进行处理,加上“·”号,不是单引号也不是双引号,而是键盘最左上角的符号,在“1”按键左侧的那个:

修改后的SQL语句如下,执行后表建立正常:

CREATE TABLE

TBL_ACCOUNT_FROZEN_RECORD

(

ID BIGINT NOT NULL AUTO_INCREMENT,

TRADE_FLOW_ID VARCHAR(60) NOT NULL,

ACCOUNT_NO VARCHAR(32) NOT NULL,

INITIATOR VARCHAR(16) NOT NULL,

OPERATE_TYPE VARCHAR(32) NOT NULL,

CREDENTIAL VARCHAR(36),

MODIFY_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

UNFROZEN_DATE TIMESTAMP,

REASON VARCHAR(200),

`DESCRIBE` VARCHAR(200),

CREATE_DATE TIMESTAMP,

CONSTRAINT P_Key_1 PRIMARY KEY (ID)

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。