现有列上的Mysql Unknown列(仅插入)

时间:2013-03-12 09:42:13

标签: mysql mysql-error-1054

我一直在研究这个问题已经有一段时间了但是却找不到任何有用的结果。

我有一张桌子:

CREATE TABLE `jobs` (
    `jb_id` MEDIUMINT(7) UNSIGNED NOT NULL AUTO_INCREMENT,
    `wo_id` MEDIUMINT(7) UNSIGNED NOT NULL,
    `file_name` VARCHAR(140) NOT NULL COLLATE 'latin1_bin',
    `jb_status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
    `descr` TEXT NULL COLLATE 'latin1_bin',
    `syncronized` TINYINT(2) UNSIGNED NOT NULL,
    `failedcnt` TINYINT(3) UNSIGNED NOT NULL,
    `clip_title` TINYTEXT NULL COLLATE 'latin1_bin',
    `clip_description` TEXT NULL COLLATE 'latin1_bin',
    `clip_tags` TINYTEXT NULL COLLATE 'latin1_bin',
    PRIMARY KEY (`jb_id`),
    INDEX `woid` (`wo_id`),
    INDEX `job_stat` (`jb_status`),
    INDEX `synced` (`syncronized`),
    INDEX `failedcnt` (`failedcnt`),
    INDEX `file_name` (`file_name`)
)
COLLATE='latin1_bin'
ENGINE=MyISAM;

当我运行SELECT或UPDATE命令时,一切正常。

select jobs.clip_description from jobs Limit 1;
/* 0 rows affected, 1 rows found. Duration for 1 query: 0.768 sec. */

UPDATE `jobs` SET `clip_description`='test' WHERE  `jb_id`=2 LIMIT 1;

但是当我尝试运行时

INSERT INTO `jobs` (`clip_description`) VALUES ('test');
/* SQL Error (1054): Unknown column 'clip_description' in 'field list' */

这也发生在昨天,但由于我没有太多时间处理这个问题,我创建了具有不同名称但结构相同的新表,复制了所有数据,然后重命名了两个表,它再次起作用。直到大约两小时前问题才回来。每隔12小时开始处理这个表并不是一个真正的选择。

用于创建我使用的副本:

CREATE TABLE jobs_new LIKE jobs; INSERT jobs_new SELECT * FROM jobs;

之前提到的插入将起作用。

非常感谢任何帮助。

编辑: 如果它有任何不同我正在运行 服务器版本:5.5.28-0ubuntu0.12.04.2-log(Ubuntu) 在ubuntu服务器上12.04 LTS 64bit

1 个答案:

答案 0 :(得分:3)

看起来你有其他与表相关的约束,可能是一个触发器或一些计算列,具体取决于clip_description列。不是吗?

请使用此表检查依赖项和触发器。