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

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

新規登録して質問してみよう
ただいま回答率
85.48%
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回答

10205閲覧

テーブル作成時のSQLエラー/ERROR 1064 (42000)

NT111

総合スコア17

MySQL

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

SQL

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/01/26 11:43

編集2020/01/26 13:19

前提・実現したいこと

SQLのdb上にテーブルpostを作りたいのですが何故かエラーが出ます。
何度も試し、その他にテーブルabcを作りましたがabcの方は成功したので
困っています。

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

エラーメッセージ ERROR 1064 (42000): 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 'KEY(id) )DEFAURT CHARSET=utf8' at line 1

該当のソースコード

ソースコード  mysql> use checktest4; Database changed mysql> CREATE TABLE abc( id INT NOT NULL AUTO_INCREMENT, time TIMESTAMP, PRIMARY KEY(id) )DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.14 sec) mysql> CREATE TABLE posts( id INT NOT NULL AUTO_INCREMENT, title VARCHAR(50), category_no INT, comment VARCHAR(255), created TIMESTAMP, PRYMARY KEY(id) )DEFAURT CHARSET=utf8; ERROR 1064 (42000): 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 'KEY(id) )DEFAURT CHARSET=utf8' at line 1

試したこと

-エラーメッセージ検索
→SQL構文にエラーがあります。 1行目で 'KEY(id))DEFAURT CHARSET = utf8'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
と出てきたので検索しました。

-TABLE abcを試しに作りました。

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

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

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

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

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

m.ts10806

2020/01/26 12:03 編集

>不愉快に感じるようなお説教に値するものは控えていただきますようお願いいたします。 これ、本質問と関係ありますか? というか、エンジニアなら当然であることをやっていない「指摘」を「説教」と捉えるのであれば できるアドバイスはないので、今後は誰のアドバイスも得られないと思ってください。 過去質問が一切解決していない状態で人に要求できる立場じゃないですよ。
Orlofsky

2020/01/26 13:17

タダで願いを叶えてくれるのは神様だけです。爆 タダとはいえ、大きな信仰心や多額の寄進がセットになっているのは中学以降の歴史で「免罪符」「宗教戦争」もろもろ証明されています。
NT111

2020/01/26 13:41

大変失礼致しました。別の質問で必要以上にきつくあたられてしまい、少しかっとなってしまいました。 マイナス評価がついてから反省も兼ねてこのサイトについてやエンジニアとしての質問の仕方など調べましたが、初心者向けの質問サイトではないのであれば別の質問サイトで成長してここでも通用するような人になって行こうかと考えております。
m.ts10806

2020/01/26 23:48 編集

初心者向けではないサイト、というわけではありません。そのための「初心者アイコン」です。 自ら調べようとしなかったりコミュニケーション放棄する人には手を差し伸べようとする人がいないだけです。実社会と同じですね。 ヘルプ、ガイドラインも整備されてるわけで、説明書や使い方を確認してから利用するのは初心者関係ないと思います。
guest

回答1

0

フォーマットかけて読みやすくしてもらいたいですが・・・

sql

1CREATE TABLE posts( 2 id INT NOT NULL AUTO_INCREMENT, 3 title VARCHAR(50), 4 category_no INT, 5 comment VARCHAR(255), 6 created TIMESTAMP, 7 PRYMARY KEY(id) 8) DEFAURT CHARSET = utf8 9;

そもそも()内はカラムとその定義なのでこれでは、PRYMARY というカラムにKEYという型でidという桁数で定義という謎の作りになります。

primary key は通常、そのカラムに指定するものなので、カラム定義に含みます。
あとDEFAULTではなくDEFAURTになってます。

sql

1CREATE TABLE posts( 2 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 3 title VARCHAR(50), 4 category_no INT, 5 comment VARCHAR(255), 6 created TIMESTAMP 7) DEFAULT CHARSET = utf8 8;

こういう調べ方を

言語やフレームワーク全てに言えることですが、Syntax error は構文エラーです。
構文とは言語の仕様です。言語仕様にそってないことが原因なのでドキュメントを読みましょう。
今回だと下記ですかね。
MySQL 5.6 リファレンスマニュアル / ... / CREATE TABLE 構文

投稿2020/01/26 11:50

編集2020/01/26 11:58
m.ts10806

総合スコア80850

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

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

CHERRY

2020/01/26 23:01

エラーが出た際に、ソフトウェアのドキュメントを読もうには同意。 PostgreSQL の create table 文では、primary key 等の制約も指定できるので、ネットで紹介されていたSQL をそのまま実行した感じでしょうかね。 https://www.postgresql.jp/document/11/html/sql-createtable.html
m.ts10806

2020/01/26 23:51

ここでそれぞれのDBによるお作法の違いがでてくるわけですね。 あと1歩踏み込んだら自己解決できた内容なのにもったいない。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問