• 締切済み

MySQLのfield数の上限について

SherlockHolmes2の回答

回答No.1

データベースエンジンは何をお使いですか? InnoDBであれば、上限1000個 MyISAMであれば、上限4096個 これらはシステム上の制約なので、大きくすることはできません。 ※ただし、MySQLのバージョンで変わる可能性有り。 余談ですが、そんなに項目数が多いと、いろいろ大変ですよ・・・。

amiamiamino
質問者

補足

情報ありがとうございます。MyISAMに変えてみたところ、2410個までは作れたんですが、メモリが足りないのか、それ以上できませんでした。 項目を減らす方法も考えてみようと思います。

関連するQ&A

  • MySQLにおいてバッチ処理でデータベースを構築する際のトラブル

    MySQLにおいてバッチ処理でデータベースを構築する際のトラブル MySQLに関しては素人です。 バッチ処理でデータベースを構築したいとおもって、バッチを指示通りの場所において、 net start mysql と打って、それから、 mysql -u root -p SampleDB040 < "C:\mysql\data\sampledb040\ファイル名.sql" として、パスワードを入れて、データベースを構築したいと思ったのですが、エラーが出て出来ません。 このエラーをどうすれば解消できるのか教えてください。 以下のようなメッセージが出ています。 ERROR 1005 (HY000) at line 10: Can't create table 'sampleDB040.t01prefecture' (errno: 121) 以上 ちなみに、同一ファイル内に同じ名前のファイルはありませんし、他のデータベースにもありませんでした。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 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 table editorについて

    このエラーについて教えてください! Error while executing query CREATE TABELE 'depot_development','products'( 'id'INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, ~~~ ) ENGINE = lnnoDB; MySQL Error Number 1005 Can't create table '.\depot_development\products.frm'(errno: 121)

    • ベストアンサー
    • MySQL
  • MySQLからフィールド名のリストを取り出し、一部のフィールド名を除外したい場合

    PHP + MySQLにて テーブルからフィールド名だけを取得し、さらに一部のフィールド名を除外したいです。 レコードじゃないのでis not構文は使えませんでした。 何かいい方法があれば教えてください。 $sql = "select * from table"; //tableテーブルからフィールド名を取り出し $rs = mysql_query($sql); $fields = mysql_num_fields($rs); $column = array(); for ( $i=0; $i<$fields; $i++ ) { $column[$i] = mysql_field_name($rs, $i); }

    • ベストアンサー
    • MySQL
  • mysqlデータベースリストア

    MySQL初心者です。 基本的な質問ですが、教えてください。 MYSQLデータベースのバックアップは、コマンドラインからmysqldumpでバックアップを行うと思います。 CMD>mysqldump -u(ユーザーグループ) -p(パスワード) (データベース名) > (バックアップファイル名).sql バックアップSQLを使って再度リストアで入れなおす場合は、 drop database (データベース名);と create database (データベース名); を実行してから行う必要があるのでしょうか? (バックアップファイル名).sqlの中身を見てみると、 CREATE TABLE '(テーブル名)' (・・・・ ・・・)の前に DROP TABLE IF EXISTS '(テーブル名)'; のようにテーブルのdropをしてからの処理はあるのですが。

    • ベストアンサー
    • MySQL
  • MySQLのFOREIGN KEYについて

     MySQLのFOREIGN KEYについて質問です。 下記のようにitemテーブルを作ってからarrivalhistoryテーブルを作ろうとすると ERROR 1005 (HY000): Can't create table 'xxx_db.arrivalhistory' (errno: 150) というエラーが出てしまいます。 自分でもForeign keyの作り方等調べてはみたのですが、 上手く解決することができません。 どなたかアドバイス下さい。お願いします。 ・親 create table item ( id bigint not null primary key, itemno VARCHAR(50) ) engine=InnoDB; ・子 create table arrivalhistory( id int primary key, itemno varchar(50), arrivaldate date, index(itemno), foreign key(itemno) references item(itemno) on update cascade on delete cascade ) engine=InnoDB;

    • ベストアンサー
    • MySQL
  • 【至急】さくらサーバーMySQLインポート出来無

    誰か助けて下さい!! さくらインターネットのデータベースで、 MySQLのヴァージョンが低くて、 設置不能のブログ(ワードプレス等)があったので、 ヴァージョンを最新する方法を探していました。 「一回消して再登録する」という記事を読んで、 バックアップも取った上で再登録したのですが、 データをインポートできません。 以前のものは mysql24.db.sakura.ne.jp 今回のは mysql443.db.sakura.ne.jp です。 エクスポートしたデータは「SQL」 「SQL圧縮」「 CSV 」の3つで保存してあります。 再度データベースを作るときにデータベース名を入力する欄がありましたが 以前使っていたものには、そんな入力は要求されなかったような気がします。 もしかしたら、それが原因かも…と思っているのですが、 お分かりになる方いらっしゃいませんでしょうか。 エラーはこちら *-------------------------* エラー 実行した SQL: -- -- データベース: `aaa_01` -- CREATE DATABASE `aaa_01` ; MySQLのメッセージ: #1007 - Can't create database 'aaa_01'; database exists *------------------------------*

  • mysqlのフィールド名

    テーブルを作成しようとしたとき、フィールド名にピリオドが入るとエラーが出ます。 例: Create table tableA ( Idx MEDIUMINT, 0hr DECIMAL(6,2), 1hr DECIMAL(6,2), 1.5hr DECIMAL(6,2), 2hr DECIMAL(6,2) ); ERROR 1060 (42S21) at line 1: Duplicate column name '5hr_1st' フィールド名にピリオドは使えないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • MySQLでのフィールドの結合

    こんにちはurudakaraといいます。よろしくお願いします。 私はSQLに関する知識がほとんどありませんがよろしくお願いします。 私はopenofficeをubuntu10.04上で使っています。 業務上データが大量になったためopenofficeについているHSQLというデータベースエンジンでは動作が遅くなったので、データベースエンジンをMySQLに変えました。 するとHSQLでは問題なく結果が出ていたクエリが違う数値を出すようになりました。 まずopenofficeのbaseのテーブルで 識別番号(MySQL Administrator で見るとData Type は VACHAR(50)となってます。) 区分(MySQL Administrator で見るとData Type は DECIMAL(50,0)となってます。) というフィールドがあります。 この状態でopenofficeのクエリのデザイン画面でフィールド欄に "識別番号"+"区分" としてました。 "識別番号1234"+"区分5"の場合  HSQLの場合は結果が 12345 MySQLの場合は結果が 1239 となります。 MySQLでもHSQLの時と同じように結果を出すようにするにはどうSQL文を書けば良いでしょうか? 初心者で分からない事ばかりですが、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • jspからmysqlに接続するメソッドについて

    Connection cn = DriverManager.DriverManager.getConnection(dsn); 引数のdsnには以下のように入力するとありました。 jdbc:mysql://ホスト名/データベース名[?属性情報] ホスト名ってなんですか? データベース名はcreate table文で作ったtableの名前ですか?それともmysqlのことですか? 非常に初歩的な質問かと思いますが、宜しくお願いします。

    • ベストアンサー
    • MySQL