3

我一直在研究这个问题很长一段时间,但未能找到任何有用的结果。

我有一张桌子:

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) On ubuntu server 12.04 LTS 64bit

4

1 回答 1

3

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

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

于 2013-03-12T09:56:47.987 回答