我有一个表,在系统生成的名称中有一个空格。
我正在尝试更改表名以删除空格,以便它可以由预先存在的库处理。
我在尝试:
ALTER TABLE 'My Table'
RENAME TO 'MyTable';
我也试过双引号,没有运气。
任何指针?
答案 0 :(得分:8)
[这在MS-Access中无效。无法在Access中重命名表。不清楚原始问题是否应用于MS Access。]
方括号:
ALTER TABLE [My Table]
RENAME TO [MyTable];
方括号不能包含整个对象“路径”,所以这不起作用:
ALTER TABLE [MyDatabase.dbo.My Table]
但这将
ALTER TABLE [MyDatabase].[dbo].[My Table]
答案 1 :(得分:2)
对于MySQL,单引号,双引号或括号对我来说不起作用。只有反引号(又名反引号)起作用。
所以,试试这个:
ALTER TABLE `My Table`
RENAME TO MyTable;
答案 2 :(得分:0)
[My Table]
您可以在SQL中使用方括号来解决此问题。
它有许多功能,你可以在表中使用关键字,在表名或模式中放置空格和句点等。
例如,您可以拥有架构[Work.Employees]
。使用方括号,它将是[Work.Employees].Addresses
(架构,表格)。但是,如果您忘记括号,它将尝试查找数据库工作 - > schema Employees - >表地址。
但是,通常的做法是避免做以上任何一种情况:)
答案 3 :(得分:0)
这是使用Access GUI更容易实现的 lot 之一!
要在SQL DDL中执行相同操作,您必须“克隆”该表,您必须已经知道所有属性名称,类型,约束等,并指出它可能具有不能通过SQL DDL创建的功能,例如:验证规则。然后你需要使用原始表填充它。你丢下原件。呼!