hardgeekのプロフィール
- ベストアンサー数
- 7
- ベストアンサー率
- 50%
- お礼率
- 0%
- 登録日2010/07/13
- mysql強制的にフルスキャンさせる方法ありますか
mysqlでテーブルにindexを設定しているにもかかわらず、強制的にフルスキャンさせる方法(設定)は ありますか?且つ、強制的にフルスキャンさせる時に、フルスキャンに切り替わる時刻設定とかも 出来ますでしょうか?
- MySQLのエラーで非常に困っています
rootユーザーからログインし、操作をしますが mysqlの挙動がおかしいです。データベースの作成はできますが、消去の際にエラーが出ます。また、cms等をインストールする際もエラーが頻出します。 mysqlのアップデートもしましたが症状変わりません。 MAMPPではインストールできたので、設定がおかしい可能性が高いと予想しています。 正常にデータベースの作成、消去ができるようにするにはどのように対処すればよろしいでしょうか。 また、ローカルとリモートサーバの設定を比較するにはどうしたらよいでしょうか。 回答をよろしくお願いします。 環境 CentOS6.3 Server version: 5.6.22 MySQL Community Server (GPL) エラー一覧 データベースを消去する際 ERROR 1010 (HY000): Error dropping database (can't rmdir './bs', errno: 39) cmsをインストールする際 エラー: SQLSTATE[HY000]: General error: 1005 Can't create table 'bs.deleteme71431' (errno: -1) 別のcmsでは‥ An exception occurred while executing 'CREATE TABLE PermissionAccessWorkflows (paID INT UNSIGNED DEFAULT 0 NOT NULL, wfID INT UNSIGNED DEFAULT 0 NOT NULL, INDEX wfID (wfID), PRIMARY KEY(paID, wfID)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB': SQLSTATE[HY000]: General error: 1005 Can't create table 'cms_con573_2.PermissionAccessWorkflows' (errno: -1). 同じことを意味しているとは思いますが MySQLエラーログ InnoDB: The file already exists though the corresponding table did not InnoDB: exist in the InnoDB data dictionary. Have you moved InnoDB InnoDB: .ibd files around without using the SQL commands InnoDB: DISCARD TABLESPACE and IMPORT TABLESPACE, or did InnoDB: mysqld crash in the middle of CREATE TABLE? You can InnoDB: resolve the problem by removing the file './cms_con573/PermissionAccessWorkflows.ibd' InnoDB: under the 'datadir' of MySQL. InnoDB: Unable to lock ./cms_con573_2/PermissionAccessWorkflows.ibd, error: 37 141228 2:15:12 InnoDB: Error creating file './cms_con573_2/PermissionAccessWorkflows.ibd'. 141228 2:15:12 InnoDB: Operating system error number 37 in a file operation. InnoDB: Error number 37 means 'No locks available'. InnoDB: Some operating system error numbers are described at InnoDB: ttp://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
- MySQLでテーブル一致条件に正規表現は使用可能?
・MySQLで一致条件に正規表現を使用することは出来ますか? ・もし出来るとすればどのようにすれば良いでしょうか? ■やりたいこと ・aテーブルのurlカラム内容が「/color/★★」だったら「/color/」以下の★★を抽出して、bテーブルのidと一致したレコードを抽出したい ・aテーブルの★★と、bテーブルのidカラムが一致しているレコードが欲しい ・aテーブルのurlカラムには「/color/58」「/color/26」「/hoge/■■」などが入っています SELECT * FROM a LEFT JOIN a.url = b.id REGEXP '^(/color)'? where a.★★ = b.id
- データベースと正規化とINSERT文について
ただいま以下の一つのテーブルを正規化しようとしています。 テーブル:英単語 フィールド:単語、意味1、意味2、意味3、品詞、分類1、分類2、分類3、例文、難易度、ID(主キー・オートインクリメント) これを以下のように分けました。(分類とは単語の分類です。例えば year なら意味は 年 で分類は 時間 とか 単位 とか属性を入れたいのです。) ****** テーブル:英単語 フィールド:単語、意味1、意味2、意味3、分類ID、分類ID、分類ID、例文ID、難易度、ID(主キー・オートインクリメント) テーブル:分類 フィールド:分類名、ID(オートインクリメント 主キー) テーブル:品詞 フィールド:品詞名、ID(オートインクリメント 主キー) テーブル:例文 フィールド:例文、ID(オートインクリメント 主キー) ****** (1)これで正規化できているでしょうか? もしできていないなら、どうすればよいでしょうか? (2)また、仮にこのままデータベースを作るとすると、INSERTの時に英単語テーブルの分類IDに、分類テーブルのIDをひもづけるにはどうしたら良いのでしょうか? INSERT INTO 分類 (分類名) VALUES("時間") のあと、オートインクリメントされたIDを取り出して、英単語テーブルに入れるにはどうしたらいいでしょうか。
- 絞り込み後の件数を数えたいのですが・・。
すいません。今PHPとデータベースを勉強中なのですが、 $st = $pdo->query("SELECT * FROM udon WHERE not abc = '111' limit 5, 10 "); 例えば上記のような絞り込みをした後、絞り込んだ後の数を数えたいのですがそのような 事はできますでしょうか? 絞り込み後の検索結果が5件以上の場合、残りを「次のページ」などのように分けて表示させたいのですがデータベースの絞り込み後の数を数える方法が分からないため先に進めません。 わかる方いましたら教えてください。