我有一张桌子:
CREATE TABLE IF NOT EXISTS `agents` (
`idx` int(11) NOT NULL AUTO_INCREMENT,
`newConfig` tinyint(1) NOT NULL DEFAULT '0',
`agent_id` char(20) NOT NULL,
`time` int(11) NOT NULL,
`status` varchar(15) NOT NULL,
`agent_ip` char(15) NOT NULL,
`FilterExpression` varchar(1024) NOT NULL,
`agent_alias` char(128) NOT NULL,
`agent_type` char(128) NOT NULL,
`ATMSIP` varchar(15) NOT NULL,
`ATMSPort` varchar(5) NOT NULL,
`MaxHeadersLength` varchar(10) NOT NULL,
`MaxGetParamsLength` varchar(10) NOT NULL,
`MaxPostLength` varchar(10) NOT NULL,
`StatusInterval` int(11) NOT NULL,
`CookieExpireTime` int(11) NOT NULL,
`ConcurrentSessions` varchar(10) NOT NULL,
`MessagesQueueSize` varchar(10) NOT NULL,
`owner_user` char(20) NOT NULL,
`owner_group` char(20) NOT NULL,
`msg_id` bigint(20) NOT NULL,
`NetworkInterface` char(64) NOT NULL,
`fingerprint_headers` varchar(4096) NOT NULL,
PRIMARY KEY (`idx`),
UNIQUE KEY `agent_id` (`agent_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
现在我想通过执行以下操作验证是否已添加索引agent_id(如果表已存在且因此未创建):
if not exists ( SELECT INDEX_NAME FROM INFORMATION_SCHEMA.STATISTICS WHERE
`TABLE_SCHEMA` = 'Telepath-NewSchema' AND
`TABLE_NAME` = `agents` AND `INDEX_NAME` = `agent_id`)
then
ALTER IGNORE TABLE `agents` ADD UNIQUE `agent_id` (`agent_id`);
end if;
但是当我运行脚本时,我得到: 'where子句'中的未知列'agent'
为什么它认为代理是一个列?
由于
答案 0 :(得分:1)
`agents`
应为'agents'
。 'agent_id'
也一样。