疑問
DBのテーブル名ってなぜ30文字まで等決まっているのでしょうか…。
長い変数つけることはデメリットのほうが大きいのでしょうか。
GUIツールで命名しているのでコードをあまり書いていないですが
テーブル名を考えて登録しようと思ったらエラーでつらいなと。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
COBOL言語など変数などのネーミングに30バイトまでの制限があったのを踏襲しているのが多いです。が、
Oracle 19.3.2 開発者ガイド 識別子名の長さと一意性
バージョン12.2より前のOracle Databaseでは、表名、列名、主キー名などの識別子名が30文字に制限されています。Oracle Database 12.2以上では、デフォルトの制限は128文字です。
Oracle Databaseではマルチバイト文字1文字はキャラクタセットがSJISでは2バイトです。
スキーマ名、表名、列名が30バイトの制限がある環境ではマルチバイト文字を15文字まで使えます。
キャラクタセットがUTF-8ではマルチバイト文字1文字が3バイトになりるのでマルチバイト文字10文字を超えるとエラーになります。
投稿2023/02/09 13:34
総合スコア16417
0
テーブル名の長さの制限は DBMS の種類やバージョンによって異なるようです。
■ 各DBのテーブル名の長さ制限
https://azuma006.hatenablog.com/entry/2016/04/09/233608
データベース | テーブル名の長さ |
---|---|
Oracle 12.2より前 | 30文字 |
Oracle 12.2以降 | 128文字 |
PostgreSQL | 64文字 |
MySQL | 64文字 |
DB2 | 128文字 |
SQL Server | 128文字 |
※ Oracle についてバージョン毎の桁数を記載するようにしました
投稿2023/02/09 09:24
編集2023/02/09 13:29総合スコア4693
0
現在MySQLのカラムやテーブル、DB名は64文字までの制限がかかっています
長すぎても効率は悪いですし、このくらいの上限が妥当だという判断なのでしょう
投稿2023/02/09 08:47
総合スコア117678
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。