alter table with name in name

时间:2011-10-05 14:38:44

标签: sql ms-access

我有一个表,在系统生成的名称中有一个空格。

我正在尝试更改表名以删除空格,以便它可以由预先存在的库处理。

我在尝试:

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

我也试过双引号,没有运气。

任何指针?

4 个答案:

答案 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创建的功能,例如:验证规则。然后你需要使用原始表填充它。你丢下原件。呼!