SQL で ,( を期待しているため、構文が正しくありません

okwaves2024-01-24  4

SQL の初心者なので、「'20' 付近の構文が正しくありません」というエラーが表示されます。 '('" を期待しています。カンマの直前のすべての行でそれを取得しています。何が間違っているのでしょうか? これが私のコードです:

CREATE TABLE roles 
(
    id INT AUTO_INCREMENT,
    title VARCHAR(20),
    salary INT(8),
    department_id INT (10),
    PRIMARY KEY (id)
);

4

使用している DBMS のタグを追加してください。

– フーバー

2020 年 9 月 3 日 2:38

2

コードは MariaDB 10.5、MySQL 8.0、SQLite 3.27 で正常に動作します。 Oracle、SQL Server、DB2、Firebird、PostgreSQL 12 では失敗します。しかし、どれもあなたが報告したエラーを引き起こしませんでした。

– ボブ・ジャービス - Слава Україні

2020 年 9 月 3 日 2:48

3

SQL に関連する質問をする場合は、使用している特定の DBMS のタグも追加することが常に重要です。それらの間の構文と機能は大きく異なります。これは、SQL タグの説明を読むと、かなり明確に記載されています。

– ケン・ホワイト

2020 年 9 月 3 日 4:16



------------------------

データ型 INT にはサイズが設定されていません。このコードを試してみてください:

CREATE TABLE roles (
    id INT identity(1,1),
    title VARCHAR(20),
    salary INT,
    department_id INT,
    PRIMARY KEY (id)
);

2020 年 9 月 3 日 2:47 に回答

アップルイエロー

アップルイエロー

307

1

金バッジ 1 個

2

銀バッジ 2 個

7

銅バッジ 7 個

2

jcase1 が SQL Server を使用していることはどのようにしてわかりますか?

– 

user330315

2020 年 9 月 3 日 5:31

jcase1 のセット タグは SQL であり、「'20' 付近の構文が正しくありません」というメッセージ エラーが表示されます。 '('"

を期待しています – アップルイエロー

2020 年 9 月 3 日 5:55



------------------------

これに変更してみてください。

CREATE TABLE roles (
id INT IDENTITY(1,1),
title VARCHAR (20),
salary INT,
department_id INT,
PRIMARY KEY (id)
);

1

2

「これを試してください」は悪い習慣?これは提案であり、OP がこれを試行する理由や、それが問題をどのように解決するかについての理由は何も提供されていません。

– ケン・ホワイト

2020 年 9 月 3 日 3:14

総合生活情報サイト - OKWAVES
総合生活情報サイト - OKWAVES
生活総合情報サイトokwaves(オールアバウト)。その道のプロ(専門家)が、日常生活をより豊かに快適にするノウハウから業界の最新動向、読み物コラムまで、多彩なコンテンツを発信。