mysql 脚本到 oracle脚本的转换

   今天碰到一件事, 刚好要把mysql的脚本转换为oracle的脚本。好不容易找到了工具(Convert Mysql to Oracle), 但转换却出人意料地其中一个表一直出问题(贴上):


CREATE TABLE `order` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `bookid` int(10) unsigned NOT NULL default '0',
  `userid` int(10) unsigned NOT NULL default '0',
  `number` tinyint(3) unsigned NOT NULL default '0',
  `address` varchar(128) NOT NULL default '',
  `postcode` varchar(6) NOT NULL default '',
  `orderdate` datetime NOT NULL default '0000-00-00 00:00:00',
  `status` tinyint(3) unsigned zerofill NOT NULL default '000',
  PRIMARY KEY  (`id`),
  KEY `FK_order_1` (`bookid`),
  KEY `FK_order_2` (`userid`),
  CONSTRAINT `FK_order_1` FOREIGN KEY (`bookid`) REFERENCES `bookinfo` (`id`),
  CONSTRAINT `FK_order_2` FOREIGN KEY (`userid`) REFERENCES `userinfo` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


可以注意到 这个表的名字是 order,  恰恰问题就在这, order在mysql中不是保留字, 但在oracle中却是保留字,这就是造成我用工具转换频频出现问题最魁祸首。

顺便提一下,大家可以注意到mysql创建表时,表名和字段均用 ` ` 括起来。 如果你够细心的话, 可以发现,` ` 符号是左上角数字1键所对应的符号, 而default 后面的’’才是我们平

最常看到的半角状态下的单引号。


这次算是被这个折腾死了, 在此记下。    

2011.08.02 00:40


你可能感兴趣的:(oracle,mysql,脚本,table,null,工具)