[英]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.