INSERT ON DUPLICATE KEY UPDATE
各挿入が異なる列のセットを持つことができる約600のクエリを実行しています。
私が今やっている方法は、mysql_query()
. 本当に遅いです。最大実行時間が 30 秒であるため、php スクリプトが停止します。
INSERT INTO table (columns) VALUES (values 1), (values 2), ..., (values n)
各挿入が異なる列のセットを持つことができる必要があるため、使用できません。
準備されたクエリも調べましたが、私が見たところ、異なる列セットでも機能しないようです。
私はデータベースと MYSQL の初心者です。私は週末のプロジェクトとして何かをハッキングしているだけで、今はプロジェクトの最後の部分を機能させたいだけです。これを適切な方法で行わなかったことをお詫び申し上げます。(非推奨のphp mysql関数も使用して申し訳ありません。)多分私は寝て、後でこれを書き直すべきです。それを行う適切な方法は何ですか?
編集:ここにテーブルタイプに関するいくつかの情報があります
-- phpMyAdmin SQL ダンプ -- バージョン 3.5.1 -- http://www.phpmyadmin.net -- -- ホスト: ローカルホスト -- 生成時間: 2012 年 7 月 22 日午後 9 時 59 分 -- サーバー バージョン: 5.5.24-log -- PHP バージョン: 5.3.13 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- データベース: `トレーラーベイ` -- -- ------------------------------------------------ -------- -- -- テーブル `movies` のテーブル構造 -- CREATE TABLE IF NOT EXISTS `movies` ( `id` int(11) NOT NULL AUTO_INCREMENT, `imdb` int(7) NOT NULL, `title` text COLLATE utf8_unicode_ci, `releasedate` 日付 DEFAULT NULL, `enlistdate` datetime NOT NULL, `runtime` 時間 DEFAULT NULL, `トレーラー` テキスト COLLATE utf8_unicode_ci NOT NULL, `plot` テキスト COLLATE utf8_unicode_ci, `cover` テキスト COLLATE utf8_unicode_ci NOT NULL, 主キー (`id`)、 UNIQUE KEY `id` (`id`), UNIQUE KEY `imdb` (`imdb`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1145 ;