質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

1回答

3050閲覧

既存に作成したテーブルにパーティションを設定する方法

enigumalu

総合スコア192

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2017/08/10 02:02

編集2022/01/12 10:55

すでに作成したテーブルに対してパーティションを設定することは可能でしょうか?レコードは入っています。
別テーブルはすでにパーティション運用しているものがありLISTで日毎になってます。
ERROR:1526 Table has no partition for value from column_listというエラーが出てしまし作成できませんでした。

CREATE TABLE test_menber ( id varchar(40) NOT NULL, platform varchar(10) NOT NULL, simple_date varchar(8) NOT NULL, updated_date` timestamp NOT NULL, PRIMARY KEY (id,platform,simple_date) ) ENGINE=InnoDB ALTER TABLE test_menber PARTITION BY LIST COLUMNS (simple_date)( PARTITION p20170901 VALUES IN ('20170901'), PARTITION p20170902 VALUES IN ('20170902'));

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/08/10 02:14

プログラムコードは```で囲ってください。(わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください)
sazi

2017/08/10 06:03

パーティションで指定している値は8桁ですが、テーブルの定義上は6桁となっています。どっちが正しいんですか?
sazi

2017/08/10 06:04

PRIMARY KEYで指定しているmember_idがありませんが、idが本来この名前ですか?
enigumalu

2017/08/10 06:13

すいません御指摘のとおり8桁でidになります
guest

回答1

0

パーティショニングは後から処理可能ですが、primaryの付け方など一部考慮が必要になってくる
場合があります。エラーがでたときに精査して対応しください

phpMyAdminでも「構造」タブからパーティションの追加ができるようになっています

投稿2017/08/10 02:25

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

enigumalu

2017/08/10 05:32

パーティションは、未来に必要となるデータを投入する領域を事前に定義する必要があるはずなので後から追加することは可能だと考えていますが、対象テーブルにレコードがないときは作成でき、レコードが存在していると作成できないためERROR:1526が発生する理由がなぞなのです。
yambejp

2017/08/10 06:37

INを利用してリスト形式でパーティショニングしているので simple_dateでINに含まれないデータがあるのでは?
enigumalu

2017/08/10 06:58

現在20170801~20170805までのデータが入っておりsimple_dateの形式は左の通りで、今回20170901,20170902分を入れようとしているのが間違いで20170801~20170805までのものしか作成できないということでしょうか?
yambejp

2017/08/10 07:18

範囲で指定しないのであれば例外なく振り分けられるようにしてください simple_dateがなぜ文字列を採用しているかもわかりません。 date型の方が範囲は指定しやすいと思います ちなみに、1日ごとにパーティショニングするほどそんなに膨大なデータなのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問