查找主键和唯一键的正则表达式是什么::
示例create query:
CREATE TABLE `empiccrdb` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`ccrId` INT(11) NOT NULL DEFAULT '0',
`data` MEDIUMTEXT,
`delflag` TINYINT(2) DEFAULT '0',
`isEncrypted` TINYINT(2) DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `ccrId` (`ccrId`)
) ENGINE=INNODB AUTO_INCREMENT=829 DEFAULT CHARSET=latin1发布于 2013-05-16 18:33:16
严格地说,正如您问题上的注释所暗示的那样,除非万不得已,否则避免解析/处理其他代码通常是最明智的做法。
它在构建过程中引发了复杂性,并为未来的更改控制带来了问题。
也许您最好与数据库对话,确定表结构并从中找到键?
话虽如此,这里有一个java正则表达式可以帮助你:
String sql = "... put it here ...";
String regex = "(PRIMARY|UNIQUE) KEY[ `a-zA-z]+\\(`([a-zA-Z]+)`\\)";
Matcher matcher = Pattern.compile(regex).matcher(sql);
while (matcher.find()) {
System.out.println(matcher.group(1) + ": " + matcher.group(2));
}https://stackoverflow.com/questions/16584313
复制相似问题