私はかなり長い間この問題を調査してきましたが、役立つ結果を見つけることができませんでした。
私はテーブルを持っています:
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' */
これは昨日も発生しましたが、問題に対処する時間があまりなかったので、名前は異なるが同じ構造の新しいテーブルを作成し、すべてのデータをコピーしてから両方のテーブルの名前を変更すると、再び機能しました。それは、問題が再発した約 2 時間前までです。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 64ビット