2013-11-21 41 views
0

當我嘗試更好地學習SQL時,這主要是一個學術問題。有沒有辦法在單個SQL語句中執行此操作,而不是先執行行計數,然後再插入另一個語句?mysqli - 如何計算沒有PHP插入前的行數?

傳統,我會做到這一點:

SELECT COUNT(*) FROM mytable; 

然後在PHP的結果對象,我會知道的行數。比方說我把它稱爲$totalrows。然後我會做

INSERT INTO mytable (`rows`) VALUES ($totalrows); 

這當然需要單獨的查詢和PHP。

我不知道是否有使用一個SQL語句來完成同樣的方式?我正在使用mysqli。

+0

是它同一個表或分開的一個? –

+0

@YourCommonSense,看代碼。這顯然是同一張桌子。 – tim

+0

**絕不是顯而易見的**,因爲在SO上發佈代碼時,他們會想要更改代碼中的隨機部分。 –

回答

2

當然:

INSERT INTO mytable (`rows`) 
    SELECT COUNT(*) 
    FROM mytable; 
+1

我不知道,但問題是如果有可能這樣做,不是嗎?我不介意它是什麼 –

+0

@YourCommonSense,excuseme有用的,但我不明白你爲什麼要downvoted我...我想答案是正確的.... –

+1

@oscar,我upvoted你,因爲我同意在SO上的人花費太多努力來降低學術 – tim