なぜ、MariaDBは、エラー[42000]で簡単な表を作成することを拒否[1064]?

EleazRs:

私はこの問題を解決する方法を知りたい、またはなぜMariaDBサーバがエラーを返す私を続けています。私は、データベースをインストールするユーザーは、新しいスキーマを作成し、私がして、そのデータベースを指してるuse database testing;と私はこのクエリを使用してデータベースに簡単な表を作成する準備ができています:

CREATE TABLE USERS
(
    ID          NUMBER(4)    NOT NULL PRIMARY KEY,
    NAME        VARCHAR2(20) NOT NULL,
    DEPTO       VARCHAR2(20) NOT NULL
);

私が使用しているデータベース内のユーザーはすべての権限を付与しています。しかし、MariaDBを返します:

[42000][1064] (conn=14) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NUMBER(4) NOT NULL PRIMARY KEY
[42000][1064] You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NUMBER(4) NOT NULL PRIMARY KEY
)' at line 2
Query is: CREATE TABLE USERS (
ID NUMBER(4) NOT NULL PRIMARY KEY
)
java thread: RMI TCP Connection(5)-127.0.0.1

缶誰かの助け私?

ルカシュSzozda:

データ型は、Oracleからのもの、あなたが設定することができSQL_MODEをその構文を受け入れるために:

MariaDB 10.3以降では、Oracleへのsql_modeシステム変数を設定すると、サーバーは、OracleのPL / SQL言語のサブセットを理解することができます。例えば:

SET SQL_MODE='ORACLE';

CREATE TABLE USERS
(
    ID          NUMBER(4)    NOT NULL PRIMARY KEY,
    NAME        VARCHAR2(20) NOT NULL,
    DEPTO       VARCHAR2(20) NOT NULL
);

NUMBERおよびVARCHAR2は同義語であることに留意してください:

+-------------+-----------------+
| Oracle type | MariaDB synonym |
+-------------+-----------------+
| VARCHAR2    | VARCHAR         |
| NUMBER      | DECIMAL         |
+-------------+-----------------+

DB <>フィドルデモ

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=372952&siteId=1