我有一個腳本,它需要一個數據庫併爲數據庫生成類似查詢的導出作爲備份。我需要這個腳本來達到目的。我的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