错误:“ EP_TEXT”列指定了多次

时间:2019-10-18 08:16:06

标签: sql sql-server

我尝试使用脚本在表中添加列,无论我更改为哪个名称,它总是返回错误提示

  

每个表中的列名必须唯一。表中的列名称“ xxx”   多次指定了“ TEST_TABLE”。

我随机键入一个名称,但仍然说该名称被多次指定。但实际上还不存在,因此还没有成功添加列。

有人有什么主意吗? 谢谢

以下是我的查询:

GO
if not exists(SELECT * FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'TEST_TABLE' AND COLUMN_NAME = 'EP_TEXT')
begin 
ALTER TABLE TEST_TABLE ADD EP_TEXT [dbo].[UDDT_MAXVARCHAR] NULL
end 
GO

1 个答案:

答案 0 :(得分:0)

问题是INFORMATION_SCHEMA.TABLE没有COLUMN_NAME列。试试这个:

IF NOT EXISTS(
     SELECT * from INFORMATION_SCHEMA.TABLES t1
              INNER JOIN INFORMATION_SCHEMA.COLUMNS t2 on t1.TABLE_NAME = t2.TABLE_NAME
              where t1.TABLE_NAME = 'TEST_TABLE' and t2.COLUMN_NAME = 'EP_TEXT'
     )