2013-12-20 25 views
0

我有兩個表具有以下字段:MySQL的:在一個表中插入新記錄使用一些特定的值從另一個

TABLENAME:字符

Columns: AccountID, CharacterID, CharName, ID1, ID2, ID3, Level 

TABLENAME:bankitem

Columns: CharID, Name, ItemID, Count, Type, ID1, ID2, ID3, Color, Effect1, Effect2, Effect3, LifeSpan, Attribute 

我想插入新的行到表bankitem。我需要從一個表(字符)中查找信息,並將其中的一些用作第二個表(bankitem)中的值。我只想定義一次CharID和ID1,ID2,ID3,儘管每行都有這些值。

因此,例如,在創紀錄的字符表:

1000, 1500, WarriorBob, 1200, 905, -2345, 180 

查詢/插入:

SELECT * 
FROM `character` 
WHERE `CharName` LIKE 'WarriorBob' 
LIMIT 0 , 1000 

INSERT INTO bankitem (CharID, Name, ItemID, Count, Type, ID1, ID3, Color, Effect1, Effect2, Effect3, LifeSpan, Attribute) 
values ('#CharacterID from WarriorBob's record in character table#', 'ZemstoneofSacrifice', '650', '1', '2', '#ID1 from WarriorBob's record in character table#', '#ID2 from WarriorBob's record in character table#', '#ID3 from WarriorBob's record in character table#', '0', '0', '0', '0', '3', '0') 
+0

你看着的文件'INSERT INTO表名SELECT ...'? – Barmar

+0

[Insert INTO MySQL FROM another table]可能重複(http://stackoverflow.com/questions/10236932/insert-into-mysql-from-another-table) – Barmar

+0

http://dev.mysql.com/doc/ refman/5.1/en/insert-select.html – Barmar

回答

0

你會使用insert . . . select做到這一點:

INSERT INTO bankitem (CharID, Name, ItemID, Count, Type, ID1, ID3, Color, Effect1, Effect2, Effect3, LifeSpan, Attribute) 
    select CharacterID, 'ZemstoneofSacrifice', '650', '1', '2', ID1, ID2, ID3, '0', '0', '0', '0', '3', '0' 
    from character c 
    where charname = 'WarriorBob'; 
0
INSERT INTO bankitem 
(CharID, Name, ItemID, Count, Type, ID1, ID3, Color, Effect1, Effect2, Effect3, LifeSpan, Attribute) 
(select CharacterID, ZemstoneofSacrifice', '650', '1', '2', ID1, ID2, ID3, '0', '0', '0', '0', '3', '0' 
from character where charname = 'WarriorBob') 
+0

謝謝@ joe-love - 我將如何整合同時添加多行的功能? – user3025251

相關問題