2015-05-02 3 views
1

Возможно, я не могу скопировать данные из базы данных A в B У меня есть те же таблицы в A & B и одинаковые столбцы.не может скопировать данные из базы данных в другую? MYSQL

Я хочу, чтобы скопировать данные из A.profile в B.profile

Это мой код: (тот же проход, пользователь, локальный)

mysql_connect($host, $user, $pass)or die("cannot connect"); 
mysql_connect($host, $user, $pass,true)or die("cannot connect"); 
mysql_select_db("A")or die("cannot select DB"); 
mysql_select_db("B")or die("cannot select DB"); 

$SQL = "INSERT INTO B.compte SELECT * FROM A.compte"; 
$result=mysql_query($SQL); 

пожалуйста помогает мне !!!

+1

1) mysql_ * функции устарели и не должны использоваться, если это вообще возможно. 2) Вы должны установить каждое из этих соединений (mysql_connect) для переменной, чтобы вы могли определить, какое соединение использовать. 3) Честно говоря, я не уверен, что запрос действительно будет работать в нескольких базах данных, лучший выбор (если не указано иное) заключается в том, чтобы экспортировать данные и импортировать их в 2 части. –

+0

первая проблема заключается в использовании mysql_ * функций – Alex

+0

действительно я не понимал mr, @ JonStirling, вы можете сделать код для меня. –

ответ

1

Надеюсь, что я правильно понял, вы написали, что эти две схемы базы данных находятся на одной машине (localhost). Если это так, один из самых простых способов будет:

  • грант ВЫБРАТЬ право для пользователя А посмотреть схему пользователя Б.
  • затем просто вставить из таблицы таблицы Б, чтение из таблицы А в

Для предоставления в базе данных B:

GRANT SELECT ON A TO 'B'@'localhost';

Тогда/выберите команду вставка может быть как:

INSERT INTO B.compte VALUES (SELECT * FROM A.compte);

Смежные вопросы