2012-09-20 59 views
1

我想列一個'count'列,但是我擔心它可能會導致問題,因爲我已經有很多使用的查詢count(*) as `count命名列'計數'會導致MySQL出現問題嗎?

會導致問題嗎?

+2

如果你能幫到你,你應該避免使用保留/關鍵字。 –

+1

使用保留字作爲列名通常是一個壞主意,因爲它需要更多的工作來避免衝突。有人說,這個問題對於SO來說是不適當的,因爲你要求的是意見(好/壞)和討論,這兩個[常見問題](http://stackoverflow.com/faq)都提到窮人適合本網站的設計。投票結束的原因不是建設性的。 –

+0

問題是「會導致問題嗎?」。我不明白這是一個「意見」問題。它將會或不會導致問題。 –

回答

3

我不會推薦它,因爲它是一個reserved word,但如果你一定要,你可以用反引號逃避它:

SELECT `count` FROM `table` WHERE 1 

至於你擁有的,你仍然可以使用這兩個查詢。 COUNT(*) AS 'count'將返回一個單一列,'count'。 SELECT 'count'的方式將它作爲普通列返回。

此外,請注意,我在最後一句中使用'而不是`,因爲SO使用`來表示代碼。

總而言之,這是一個壞主意。

+0

這應該是評論 – Salil

+2

@Salil:我不同意。 – Josh

+1

@Salil這是一個答案,不應該是一個評論。 OP想知道這是不是一個好主意。給出的答案是,這不是一個好主意,但顯示它實際上是合法的。 – paddy

2

同意Josh的回答。你可以在反引號內使用幾乎任何東西,包括我相信的空格 - 但不要這樣做!

從語義上講,我會問有什麼好處是有一個名爲「計數」的字段。究竟是什麼計算?我建議你養成對你的字段名稱更具體的習慣。例如:limb_counterror_countnum_attemptsnum_failures ...

當你加盟大型查詢多個表,則SQL將讀取更加清晰,如果你的字段名也不含糊。

相關問題