我有2个数据库连接,db1是主数据库,而db2是副本。
我的脚本是从db2复制(有这是发展)使db1相同。
但是,如果不存在使用多于1个数据库并使用“LIKE”,我无法获得创建表。
这是连接:
$host = 'localhost';
$db1 = "***";
$username_db1 = '***';
$password_db1 = '***';
$db_c1 = mysql_connect($host, $username_db1, $password_db1) or die('Error connecting to Database!
'.mysql_error());
$db2 = "***";
$username_db2 = '***';
$password_db2 = '***';
$db_c2 = mysql_connect($host, $username_db2, $password_db2, true) or die('Error connecting to Database!
'.mysql_error());
mysql_select_db($db1, $db_c1);
mysql_select_db($db2, $db_c2);
?>这是剧本很好的一部分。
$tables1 = array();
$tables2 = array();
$res = mysql_list_tables($db1, $db_c1);
while (list($tmp) = mysql_fetch_row($res))
{
$tables1[] = $tmp;
}
$res = mysql_list_tables($db2, $db_c2);
while (list($tmp) = mysql_fetch_row($res))
{
$tables2[] = $tmp;
}
// Tables creates if not exists
foreach($tables2 as $k=>$v)
{
mysql_query("CREATE TABLE IF NOT EXISTS ".$db1.".".$v." LIKE ".$db2.".".$v, $db_c1);
}我认为问题出在LIKE上,我认为它没有正确读取它,我已经抛弃了$ tables2,它确实得出了结果。
谢谢