我有两张桌子。
Table_A(nid,vid,type,title,uid)
Table_B(id,questiontext)
我需要将Table_B中的记录插入Table_A。我试过这个:
INSERT INTO Table_A (nid, vid, type, title, uid)
VALUES ('', '', multichoice', (SELECT questiontext from Table_B), '1')
但它正在抛出错误。
正确的陈述应该是什么?
UPD:我应该补充一点,nid是自动增量,vid的值应该与nid相同。
答案 0 :(得分:51)
你试过吗
INSERT INTO Table_A (nid, vid, type, title, uid)
SELECT '',
'',
'multichoice',
questiontext ,
'1'
from Table_B
答案 1 :(得分:9)
您应该使用以下SQL查询:
INSERT INTO Target(A, B, C)
SELECT A, B, C
FROM Source
答案 2 :(得分:6)
根据MySQL reference for INSERT SELECT:
INSERT INTO table_name SELECT FROM other_table [ WHERE ... something ... ]
答案 3 :(得分:0)
使用此方法
INSERT INTO目的地(列名)(从示例3中选择columnaes);
这里的列应该是相同的类型。
答案 4 :(得分:0)
insert into table2(columnname)select columnname from table1
答案 5 :(得分:0)
@RequiresApi(api = Build.VERSION_CODES.M) @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, final int position) { final CustomMainListAdapter.mainHolder mainHolder= (CustomMainListAdapter.mainHolder) holder; if (mainList.get(position).getArrayType().equals("sub1")) { if (mainList.get(position).getsub1Array() != null) { if (mainList.get(position).getsub1Array().size() > 0) { mainHolder.text_mainTitle.setText(mainList.get(position).getsub1Array().get(position).getsub1Title()); mainHolder.text_mainsubTitle.setText(mainList.get(position).getsub1Array().get(position).getsub1Product()); mainHolder.text_main_contact.setText(mainList.get(position).getsub1Array().get(position).getsub1phoneNumber()); } } } else { if (mainList.get(position).getsub2Array() != null) { if (mainList.get(position).getsub2Array().size() > 0) { Log.e("tag","main-adapter size: "+mainList.get(position).getsub2Array().size()); for(int i=0;i<mainList.get(position).getsub2Array()().size();i++ ){ mainHolder.text_mainTitle.setText(mainList.get(position).getsub2Array()().get(i).getName()); mainHolder.text_mainsubTitle.setText(mainList.get(position).getsub2Array()().get(i).getProductTask()); mainHolder.text_main_contact.setText(mainList.get(position).getsub2Array()().get(i).getContact()); } } } } }
您还可以通过以下方式设置一些插入条件:
INSERT INTO Table_1 (column_1, column_2, column_3) SELECT column_1, column_2, column_3 FROM Table_2
答案 6 :(得分:-1)
我认为对此的正确答案可能是选择,从我从其他答案中看到的是你们在从表B获取值之前插入,因为你应该首先得到的值是:从表B中选择然后插入表A.您应该在select into
的行中搜索