2011-09-02 114 views
0

我使用的是Sybase數據庫,並想知道這是否是有效的有一個表包含具有相同名稱的列的表,例如:Sybase中的表和列可以使用相同的名稱嗎?

CREATE TABLE foo 
(
    foo  int  not null, 
    etc... 
) 
+0

你爲什麼問?你有沒有嘗試過,它不起作用?如果是這樣,是否有錯誤?如果沒有,爲什麼不去試試看?由於文檔沒有提及任何內容,因此您應該可以,但是如果出現錯誤,那麼添加到您的問題中會很有幫助。即使這是無法完成的事情,爲什麼不只是將這個列命名爲符合邏輯的FooId,這樣就沒有混淆。代碼清晰度準則與保留關鍵字和特定於數據庫的命名準則一樣適用。 – David

回答

3

有效嗎?當然。推薦的?第

+0

同意它不是很好,但它是一個具體的例子,我通常會避免它。 – Graeme

0

是的,我們一定能夠做到這一點,但由於說的是不推薦。但爲什麼我們能夠這樣做呢?那麼,因爲表名輸入進入系統表sysobjects,但是列條目進入系統表syscolumns。

因此存在使用表名作爲列名,但使用通常不建議,因爲它使你的表結構有點混亂表名作爲列名,並把它添加不好的做法,數據庫設計沒有限制。

相關問題