You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MariaDB使用Sequel Pro执行建表SQL报语法错误如何解决

语法错误原因
  • 你使用的是Oracle专属SQL语法,与MariaDB支持的SQL方言不兼容,核心问题如下:
  1. VARCHAR2 为Oracle独有的可变长字符串类型,MariaDB中没有该类型,需替换为VARCHAR
  2. NUMBER 为Oracle独有的数值类型,MariaDB中需替换为DECIMAL,二者定义参数规则完全一致,支持DECIMAL(总位数, 小数位数)的写法
修改后适配MariaDB的SQL代码
CREATE TABLE USERS (
    USER_ID INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CITY VARCHAR(60)
);

CREATE TABLE STORES (
    STORE_ID INT PRIMARY KEY,
    NAME VARCHAR(100),
    CITY VARCHAR(60),
    SALES_TAX_RATE DECIMAL(6,5)
);

CREATE TABLE ITEMS (
    ITEM_ID INT PRIMARY KEY,
    NAME VARCHAR(30),
    PRICE DECIMAL(5,2)
);

CREATE TABLE ORDERS (
    ORDER_ID INT PRIMARY KEY,
    USER_ID INT,
    STORE_ID INT,
    CONSTRAINT FK_UserID FOREIGN KEY (USER_ID) REFERENCES USERS(USER_ID),
    CONSTRAINT FK_StoreID FOREIGN KEY (STORE_ID) REFERENCES STORES(STORE_ID)
);
可选优化建议

如果需要更好的兼容性和中文支持,可以在建表语句末尾追加 ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 即可,示例:

CREATE TABLE USERS (
    USER_ID INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CITY VARCHAR(60)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

内容的提问来源于stack exchange,提问作者FilsanMadar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:24:04