MySQL:错误:150关于foregin key asignment

时间:2015-10-13 16:00:12

标签: mysql

我正在尝试向表中添加外键,我收到以下错误:

ERROR 1005 (HY000): Can't create table 'tablename.#sql-5cf_179' (errno: 150)

我使用此查询:

alter table table_1 add foreign key (col_1) references table_2 (col_2);

两个列都具有相同的数据类型(varchar(50)),相同的排序规则,它们不是null,我将默认值更改为与null不同的值。

我检查了SHOW ENGINE INNODB状态并得到了这个:

  

在引用的表中找不到引用的索引   列显示为表中的第一列或列类型   引用的表与约束不匹配。请注意   在使用

创建的表中更改了ENUM和SET的内部存储类型      
    

= InnoDB-4.1.12,旧表中的此类列不能被新表中的此类列引用。看到     http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html     正确的外键定义。

  

我不知道下一步该做什么......

编辑更多信息:

    |snmptt_nodes | CREATE TABLE `snmptt_nodes` (
      `ID` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) DEFAULT NULL,
      `ip` varchar(50) NOT NULL DEFAULT 'no_ip_found',
      `last_response` datetime NOT NULL,
      `state` varchar(50) DEFAULT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1 

| snmptt | CREATE TABLE `snmptt` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `eventname` varchar(4000) DEFAULT NULL,
  `eventid` varchar(4000) DEFAULT NULL,
  `trapoid` varchar(4000) DEFAULT NULL,
  `enterprise` varchar(4000) DEFAULT NULL,
  `community` varchar(4000) DEFAULT NULL,
  `hostname` varchar(4000) DEFAULT NULL,
  `agentip` varchar(50) NOT NULL DEFAULT 'no_ip_found',
  `category` varchar(4000) DEFAULT NULL,
  `severity` varchar(4000) DEFAULT NULL,
  `uptime` varchar(4000) DEFAULT NULL,
  `traptime` varchar(4000) DEFAULT NULL,
  `formatline` varchar(4000) DEFAULT NULL,
  `timestamp` datetime DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=206352 DEFAULT CHARSET=latin1 |

| snmptt_listpolls | CREATE TABLE `snmptt_listpolls` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ip` varchar(50) NOT NULL DEFAULT 'no_ip_found',
  `polling_time` int(10) NOT NULL,
  `communitydata` varchar(100) NOT NULL,
  `snmp_oid` varchar(250) DEFAULT NULL,
  `lastcheck` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=latin1 |

0 个答案:

没有答案