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

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

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

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

SQL

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

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

Q&A

解決済

2回答

1938閲覧

【sql】テーブルが作成できない

pepe0730

総合スコア8

MySQL

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

SQL

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

MariaDB

MariaDBは、MySQL派生のオープンソースなリレーショナルデータベースシステムです。 また、MySQLとほぼ同じデータベースエンジンに対応しています。

0グッド

0クリップ

投稿2021/01/05 06:33

前提・実現したいこと

MariaDBでテーブルを作成したい。

発生している問題・エラーメッセージ

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-> id not null primary key auto_increment, -> question text not null, ->' at line 2

該当のソースコード

sql

1create table quiz_list ( 2 -> id not null primary key auto_increment, 3 -> question text not null, 4 -> choices-1 text not null, 5 -> choices-2 text not null, 6 -> choices-3 text not null, 7 -> choices-4 text not null, 8 -> correct text not null, 9 -> disclosure_flag int(1) not null);

補足情報(FW/ツールのバージョンなど)

MariaDB
SQL
macOS

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

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

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

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

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

guest

回答2

0

m.ts10806さんの解説のとおりですが、その他気になった点

  • choicesを独立したカラムにすると拡張性にかけます
  • またtextにすると検索性が落ちます
  • フラグはintよりtinyintで

(int(1)は別にビット数を表してるわけではありません)

投稿2021/01/05 07:48

yambejp

総合スコア116724

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

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

pepe0730

2021/01/05 11:45

choicesは別テーブルでの作成を検討すればいいのでしょうか?拡張性、次から意識してみます。 text,int(1)も次から気をつけます。全く知りませんでした。 ありがとうございます!
yambejp

2021/01/05 11:57 編集

choicesは専用で問題idと選択肢の組み合わせをもった別テーブルを つくっておくと何択でも拡張できます。 もしくはJSON型で選択肢をまとめてしまってもよいでしょう
guest

0

ベストアンサー

何を参考に組んだのか分かりませんが…

  • ->は要らない
  • idカラムの型がない
  • ハイフン使いたいならバッククォートで囲う必要あり(ただ、可能ならアンダーバーにすべき)

ドキュメントも確認しておいてください。

投稿2021/01/05 06:43

m.ts10806

総合スコア80875

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

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

m.ts10806

2021/01/05 06:46

ただ、構文エラーがなくなるだけで想定の内容でテーブルが出来上がるかは別
pepe0730

2021/01/05 11:44

ありがとうございました!! ドキュメント確認しておきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問