簡體   English   中英

alter table with name in name

[英]alter table with space in name

我有一個表,在系統生成的名稱中有一個空格。

我正在嘗試更改表名以刪除空格,以便它可以由預先存在的庫處理。

我在嘗試:

ALTER TABLE 'My Table'
 RENAME TO 'MyTable';

我也試過雙引號,沒有運氣。

有什么指針嗎?

[ 這在MS-Access中不起作用。 無法在Access中重命名表。 不清楚原始問題是否適用於MS Access。]

方括號:

ALTER TABLE [My Table]
 RENAME TO [MyTable];

方括號不能包含整個對象“路徑”,因此這不起作用:

ALTER TABLE [MyDatabase.dbo.My Table]

但這會

ALTER TABLE [MyDatabase].[dbo].[My Table]

對於MySQL,單引號,雙引號或括號不適用於我。 只有反引號(又名反引號)起作用。

所以,試試這個:

ALTER TABLE `My Table`
 RENAME TO MyTable;

[My Table]

您可以在SQL中使用方括號來解決此問題。

它有很多功能,你可以在表中使用關鍵字,在表名或模式中放置空格和句點等。

例如,您可以擁有架構[Work.Employees] 使用方括號,它將是[Work.Employees].Addresses (schema,table)。 但是,如果您忘記括號,它將嘗試查找數據庫工作 - >架構員工 - >表地址。

但是,一般的做法是避免做以上任何一種情況:)

這是其中的一件事情是容易得多使用Access GUI實現!

要在SQL DDL中執行相同的操作,您必須“克隆”表,您必須已經知道所有屬性名稱,類型,約束等,並指出它可能具有不能通過SQL DDL創建的功能,例如驗證規則。 然后你需要使用原始表填充它。 你丟下原件。 唷!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM