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