0

我 FTP 源代码文件,然后转储数据库(选择 Drop table 选项)并覆盖实时测试服务器数据库。但问题是它需要我"junk" testing data和一些required default data. 然后我必须手动删除不需要的行,以便我可以给客户端一个干净的状态。如果我通过删除现有表和数据并使用所需默认数据创建新表的脚本来执行此操作,那将是理想的。

我的想法是——

$table1 = "sql to create table1";
mysql_query($table1);
$table1_data = "sql to insert default data for table1"; 
mysql_query($table1_data);

等等20多个不同的表......

必须有更好的方法来处理这个问题。你打算说什么?

** 更新 **

是否可以将所有查询写入一个变量并运行它 - 例如

$sql =" 
   Drop If exists table1
   create table1 ....
   Insert Into table 1....
   Drop If exists table2
   create table 2
   Insert into table 2 
   .....
   .....
   .....
";
mysql_query($sql);
Is there a way to achieve something like above???
4

2 回答 2

0

我无法从社区得到任何答案,所以我坚持自己的解决方案..

我创建了一组查询 -

$queries[] = 'drop table';
$queries[] = 'create table';
$queries[] = 'Insert into table';

然后在 for 循环中运行每个 then 。希望它可以帮助某人!

于 2012-06-29T13:09:47.923 回答
0

一些 PHP 框架允许您设置固定装置,用预定义的数据填充所需的表。如果你没有使用任何这样的框架,我建议你只创建一个你需要测试的表的转储,而让其他的保持不变。

mysqldump如果您具有 shell 访问权限,则可以通过在数据库名称之后指定要导出的表来创建部分转储:

mysqldump --host=localhost --username=myuser --password databasename table1 table2 table3 >databasename.sql
于 2012-06-28T15:09:05.477 回答