2015-12-25 17 views
-3

我有另一種想法,可以比我上次包含的問題給出的解決方案更具性能:solution of question 這是我的建議,但它不起作用!我不能用SELECT INTO MYSQL插入數據到我現有的表中

SELECT 
    32, 
    57,  
    'MVT/15/12/0001', 
    'BSR/15/12/001', 
    'S', 
    'ART_039', 
    'AAAA', 
    a.qte_art, 
    1, 
    a.qte_art - 1, 
    'uuuu' 
INTO mvt(id_piece, article_id_article, code_mvt, origine_mvt, type_mvt, code_art, des_art, qte_old, qte_mvt, qte_new, link_piece) 
FROM article a 
WHERE a.id_article = 57 

#1327 - Undeclared variable: mvt 

請赤我在鏈接的問題,因爲我嘗試這種解決方案的resean是我對MVT表的觸發器

+0

是否MVT表中存在?另外,爲什麼不'insert into'而不是'select into'? – SMA

+0

請在鏈接中提問我的問題,因爲我試過這個解決方案的resean是我有一個觸發器 – isom

回答

1

我認爲你應該使用 insert into table(fields) select fields from xxx

+0

請在鏈接中提問我的問題,因爲我試過這個解決方案的resean是我有觸發器 – isom

+0

MySQL服務器不支持SELECT ... INTO TABLE Sybase SQL擴展。相反,MySQL服務器支持INSERT INTO ... SELECT標準SQL語法,它基本上是一樣的。根據[Mysql Ref](http://dev.mysql.com/doc/refman/5.7/en/ansi-diff-select-into-table.html)@isom – amow

1

您必須設置插入節首先然後做選擇...查詢應該看起來像這樣:

INSERT INTO courses (name, location, gid) 
SELECT name, location, 1 
FROM courses 
WHERE cid = 2 
+0

請在鏈接中提問我的問題,因爲resean我試過這個解決方案是,我有一個觸發器 – isom

0

要插入int使用選擇表

INSERT INTO table_name1 (field_1, field_2, field3) 
SELECT field_1, field_2, field_3 from table_name2 

對於你的情況給我們

Insert into mvt(id_piece, article_id_article, code_mvt, origine_mvt, type_mvt, code_art, des_art, qte_old, qte_mvt, qte_new, link_piece) 
SELECT 
    32, 
    57,  
    'MVT/15/12/0001', 
    'BSR/15/12/001', 
    'S', 
    'ART_039', 
    'AAAA', 
    a.qte_art, 
    1, 
    a.qte_art - 1, 
    'uuuu' FROM article a 
WHERE a.id_article = 57 
+0

請在鏈接中提問我的問題,因爲我嘗試過這種解決方案的是我有一個觸發器 – isom

相關問題