sql >> Databáze >  >> RDS >> Mysql

Synchronizujte 2 tabulky různých databází - MySQL

Možná budete chtít použít příkazy 'SELECT ... INTO OUTFILE' a 'LOAD DATA INFILE INTO TABLE'.

Edit:Vypracování...

Vzhledem ke struktuře tabulky:

CREATE TABLE my_local_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime);

CREATE TABLE server_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime,
    local_id int);

A pár falešných údajů:

INSERT INTO my_local_table (data, created_on) VALUES ('test', now()), ('test2', now());

Použili byste následující příkazy:

SELECT id, data, created_on 
    FROM my_local_table
    WHERE created_on >= '2011-08-18'
    INTO OUTFILE '/tmp/t.txt';

-- (and on the server)
LOAD DATA LOCAL INFILE '/tmp/t.txt'
    INTO TABLE server_table
    (local_id, data, created_on);

Chcete-li tyto dva automatizovat, můžete použít bash skript / dávkový soubor volající mysql, který se nejprve připojí k místnímu serveru pomocí prvního příkazu a poté ke vzdálenému serveru, který provede druhý příkaz.

mysql -e 'SELECT....';
mysql -h remote_server -e 'LOAD DATA...';


  1. Chování GROUP BY, když v klauzuli SELECT nejsou přítomny žádné agregační funkce

  2. Nahrávání souborů/obrázků blob do Mysql

  3. ComboBox.ValueMember a DisplayMember

  4. Odezva dotazu před provedením a bez provedení v aktivním záznamu codeigniter