2013-11-24 30 views
-1

我已經努力遷移不同的mysql數據庫在同一臺機器。我想將表中名爲ms_barang的所有行從第一個數據庫複製到另一個數據庫。交叉MySQL數據庫相同的機器INSRET語法失敗

這些列有點不同所以我創建連接表並插入到不同數據庫中的第二個表。

我的SQL語法是

INSERT INTO sre.`ms_barang`(`idms_kodebarang`,`nama`,`gudang`,`jenis`,`packing`) 
VALUES (
    SELECT sr.mb.`idms_kodebarang` AS 'idms_kodebarang', sr.mb.`nama` AS 'nama', sr.mb.`gudang` AS 'gudang', sr.mb.`jenis` AS 'jenis', sr.md.`packing` 'packing' 
    FROM sr.ms_barangjadi mb JOIN sr.ms_daftarbarang md 
    WHERE sr.mb.`idms_kodebarang` = sr.md.`idms_kodebarang` 
); 

,你可以看到,有兩個數據庫,稱爲SR和SRE

,但它總是告訴語法是否失敗。錯誤在哪裏?

+0

您可以張貼整個錯誤消息? – BeNdErR

+0

查詢:插入sre.'_b_blng'('idms_kodebarang','nama','gudang','jenis','packing')values(select sr.mb.'idms_kodebarang' as'idm ... 錯誤代碼:1064 您的SQL語法錯誤;請查看與您的MySQL服務器版本相對應的手冊,以便在'select sr.mb.'idms_kodebarang'附近使用正確的語法作爲'idms_kodebarang',sr.mb.'在第3行使用'nama',sr。' @BeNdErR – randytan

+0

在MSSQL中,這不是VALUES的工作方式。 –

回答

0

刪除VALUES關鍵字,Doc

INSERT INTO sre.`ms_barang`(`idms_kodebarang`,`nama`,`gudang`,`jenis`,`packing`) 
    (
    SELECT sr.mb.`idms_kodebarang` AS 'idms_kodebarang', sr.mb.`nama` AS 'nama', sr.mb.`gudang` AS 'gudang', sr.mb.`jenis` AS 'jenis', sr.md.`packing` 'packing' 
    FROM sr.ms_barangjadi mb JOIN sr.ms_daftarbarang md 
    WHERE sr.mb.`idms_kodebarang` = sr.md.`idms_kodebarang` 
);