创建表的语法是
CREATE [temp] TABLE TableName(...)
因此可以使用
在临时数据库中创建表CREATE temp TABLE MyTable(...)
或
CREATE TABLE temp.MyTable(...)
并且完全解决了引用该表的方法是
temp.Mytable
这是与main.MyTable不同的表。
但是,创建索引的语法只是
CREATE INDEX IndexName ON TableName (FieldName )
,它不允许表名具有前置数据库名称
所以这没关系
CREATE INDEX MyIndex ON MyTable (MyField)
但这不是
CREATE INDEX MyIndex ON Temp.MyTable (MyField)
如何在临时表上创建索引(特别是如果主数据库中可能存在同名表?
答案 0 :(得分:5)
必须将数据库名称放在索引名称上:
CREATE INDEX temp.MyIndex ON MyTable(MyField)