色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql臨時(shí)表創(chuàng)建以后不能立即查詢(xún)

MySQL作為廣泛使用的一個(gè)開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),臨時(shí)表也是其中一項(xiàng)重要的特性之一。臨時(shí)表可以用來(lái)存儲(chǔ)臨時(shí)的數(shù)據(jù)集合,通常情況下是在查詢(xún)數(shù)據(jù)的過(guò)程中進(jìn)行使用。在MySQL中,我們可以使用CREATE TEMPORARY表名()的語(yǔ)法創(chuàng)建臨時(shí)表。然而,有時(shí)候在創(chuàng)建完臨時(shí)表之后,我們無(wú)法立即查詢(xún)到這些表中的數(shù)據(jù),這究竟是為什么呢?

CREATE TEMPORARY TABLE temp_table(
id INT PRIMARY KEY,
name VARCHAR(20)
);
INSERT INTO temp_table(id, name)
VALUES(1, 'Tom'),
(2, 'John'),
(3, 'Lucy');

在上述的代碼中,我們創(chuàng)建了一個(gè)名為“temp_table”的臨時(shí)表,并插入了三條數(shù)據(jù)記錄。但是,如果我們?cè)趧?chuàng)建完成之后立即查詢(xún)這個(gè)臨時(shí)表的數(shù)據(jù),就會(huì)發(fā)現(xiàn)MySQL報(bào)錯(cuò)了。報(bào)錯(cuò)信息為:Table 'temp_table' doesn't exist。

這是因?yàn)榕R時(shí)表在創(chuàng)建完成之后,并不會(huì)立即將這個(gè)臨時(shí)表保存到內(nèi)存中,而是等待當(dāng)前事務(wù)結(jié)束之后才會(huì)被銷(xiāo)毀。在該事務(wù)中,MySQL會(huì)將這個(gè)臨時(shí)表的定義存儲(chǔ)在臨時(shí)庫(kù)中,并給該表取一個(gè)名字,此時(shí)我們就可以使用這個(gè)名字來(lái)操作這個(gè)臨時(shí)表。而如果直接查詢(xún)這個(gè)臨時(shí)表,由于它還沒(méi)有被保存到內(nèi)存中,因此會(huì)出現(xiàn)上述的報(bào)錯(cuò)信息。

為了避免出現(xiàn)上述的問(wèn)題,在創(chuàng)建完臨時(shí)表之后,我們可以先提交事務(wù),或者退出當(dāng)前事務(wù),再查詢(xún)這個(gè)臨時(shí)表的數(shù)據(jù)。這樣就可以保證臨時(shí)表已經(jīng)被保存到內(nèi)存中,可以被正確地訪問(wèn)到了。