我有一个字符串:
CREATE TABLE IF NOT EXISTS `coupons` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(255) NOT NULL,
`off` int(11) NOT NULL,
`order` int(11) NOT NULL,
`value` tinyint(1) DEFAULT NULL,
`status` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
CREATE TABLE `currency` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(10) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`prefix` varchar(12) DEFAULT NULL,
`suffix` varchar(12) DEFAULT NULL,
`format` char(1) DEFAULT NULL,
`decimals` char(1) DEFAULT NULL,
`exchange` float(15,6) DEFAULT NULL,
`round` int(5) NOT NULL,
`published` tinyint(1) unsigned DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
并且想要将“CREATE TABLE”替换为“CREATE TABLE IF NOT NOT EXISTS”。 我怎么能这样做?
谢谢!
答案 0 :(得分:3)
在PHP中(如果你真的需要以编程方式进行)你会做这样的事情(假设$string
是包含两个SQL命令的变量):
$string = preg_replace('/CREATE\sTABLE\s+`/i', 'CREATE TABLE IF NOT EXISTS `', $string);