我有一个脚本,它需要一个数据库并为数据库生成类似查询的导出作为备份。我需要这个脚本来达到目的。我的php代码是:使用php获取mysql表结构
mysql_query("SHOW CREATE TABLE `myTable`");
在数据库中有17个表。我正在为所有17个表运行for循环。我用我不想要的外键创建表查询。它返回类似于 -
CREATE TABLE `customers` (
`person_id` int(10) NOT NULL,
`account_number` varchar(255) DEFAULT NULL,
`taxable` int(1) NOT NULL DEFAULT '1',
`deleted` int(1) NOT NULL DEFAULT '0',
UNIQUE KEY `account_number` (`account_number`),
KEY `person_id` (`person_id`),
CONSTRAINT `customers_ibfk_1` FOREIGN KEY (`person_id`) REFERENCES `people` (`person_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
由于外键,它在运行查询创建表时会收到错误。有没有办法获得没有外键的SQL? like-
CREATE TABLE IF NOT EXISTS `customers` (
`person_id` int(10) NOT NULL,
`account_number` varchar(255) DEFAULT NULL,
`taxable` int(1) NOT NULL DEFAULT '1',
`deleted` int(1) NOT NULL DEFAULT '0',
UNIQUE KEY `account_number` (`account_number`),
KEY `person_id` (`person_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
你有没有调查任何数据库备份工具是在那里已经而不是试图重新发明轮子?您可以将MySQL的本地复制与mysqldump或mysqlhotcopy等程序一起用于备份。 – liquorvicar 2011-12-29 13:30:18