mysql怎么插入兩個(gè)表 mysql創(chuàng)建兩個(gè)表

mysql怎么用一條語(yǔ)句給兩張表插入數(shù)據(jù)?

mysql無(wú)論如何也做不到用一條語(yǔ)句給兩張表插入數(shù)據(jù)。

創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為金水等服務(wù)建站,金水等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為金水企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

理由:一個(gè)insert語(yǔ)句僅能在一個(gè)表中插入,這是語(yǔ)法的規(guī)定。

工具:mysql 5.6

步驟(即插入數(shù)據(jù)舉例):

1、如user表有如下數(shù)據(jù):

2、要將一條新數(shù)據(jù),id為6,name為lilei插入表中,用如下語(yǔ)句:

insert?into?user(id,name)?values?(5,'lilei');

3、插入后結(jié)果:

mysql數(shù)據(jù)庫(kù)問(wèn)題,如何同一個(gè)操作添加兩個(gè)表(a表,b表),并把b表的id添加到a表字段中,b表id自動(dòng)增長(zhǎng)

在數(shù)據(jù)庫(kù)中創(chuàng)建存儲(chǔ)過(guò)程,比如存儲(chǔ)過(guò)程的名字叫做 test

在java中和正常使用sql的方法一樣, sql = "call test(B1,B2)", B1和B2是假設(shè)你將要插入b表中的數(shù)據(jù)

假設(shè)b表的結(jié)構(gòu)是(ID int auto_incremet, B1 int, B2 int)

假設(shè)a表的結(jié)構(gòu)是(ID int)

CREATE test(B1 int, B2 int) #假設(shè)A1和A2是將要插入b表中的數(shù)據(jù)

BEGIN

declare new_id as int; #聲明自增長(zhǎng)所添加的ID

insert into b(B1,B2) values(B1,B2); #給b插入新的記錄

select last_insert_id() into new_id; #取得新插入記錄的ID

insert into a(ID) values(new_id); #把新插入的ID寫(xiě)入a表

select new_id; #如果需要的話(huà)存儲(chǔ)過(guò)程返回新得到的ID給客戶(hù)端

END

注意: 為什么推薦使用存儲(chǔ)過(guò)程,而不是直接在java程序中使用select last_insert_id(); 因?yàn)檫@個(gè)函數(shù)是打開(kāi)當(dāng)前端口時(shí),返回最后一個(gè)插入的自增長(zhǎng)的ID, 如果不用存儲(chǔ)過(guò)程,可能當(dāng)前鏈接關(guān)閉,或有其他的應(yīng)用也在其他有自增長(zhǎng)ID的表中插入新的記錄, 這時(shí)你取回的ID就是錯(cuò)誤的。

mysql語(yǔ)句中如何將數(shù)據(jù)同時(shí)插入到兩張表中

insert all

into A (a,b,c)

values(value-a,value-b,value-c)

into B(d,e,f)

values(value-d,value-e,value-f)

select value-a,value-b,value-c,value-d,value-e,value-f

from TableX

where ...;

標(biāo)題名稱(chēng):mysql怎么插入兩個(gè)表 mysql創(chuàng)建兩個(gè)表
標(biāo)題路徑:http://muchs.cn/article24/ddceije.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)站改版、定制開(kāi)發(fā)、網(wǎng)站制作、網(wǎng)站收錄、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)