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 |
+-------------+-----------------+