我使用的是Sybase數據庫,並想知道這是否是有效的有一個表包含具有相同名稱的列的表,例如:Sybase中的表和列可以使用相同的名稱嗎?
CREATE TABLE foo
(
foo int not null,
etc...
)
我使用的是Sybase數據庫,並想知道這是否是有效的有一個表包含具有相同名稱的列的表,例如:Sybase中的表和列可以使用相同的名稱嗎?
CREATE TABLE foo
(
foo int not null,
etc...
)
是的,我們一定能夠做到這一點,但由於說的是不推薦。但爲什麼我們能夠這樣做呢?那麼,因爲表名輸入進入系統表sysobjects,但是列條目進入系統表syscolumns。
因此存在使用表名作爲列名,但使用通常不建議,因爲它使你的表結構有點混亂表名作爲列名,並把它添加不好的做法,數據庫設計沒有限制。
你爲什麼問?你有沒有嘗試過,它不起作用?如果是這樣,是否有錯誤?如果沒有,爲什麼不去試試看?由於文檔沒有提及任何內容,因此您應該可以,但是如果出現錯誤,那麼添加到您的問題中會很有幫助。即使這是無法完成的事情,爲什麼不只是將這個列命名爲符合邏輯的FooId,這樣就沒有混淆。代碼清晰度準則與保留關鍵字和特定於數據庫的命名準則一樣適用。 – David