这段 SQL 在 Oracle 数据库中会有两个错误:

  1. AUTO_INCREMENT 是 MySQL 中的语法,在 Oracle 中应该使用序列(Sequence)来实现自增长功能。
  2. VARCHAR2(1) 中的长度应该是必须的,不能省略。

正确的 SQL 应该是:

DROP TABLE IF EXISTS 'User';
CREATE TABLE 'User' (
    'ID' VARCHAR2(32) NOT NULL  COMMENT 'ID',
    'USERNAME' VARCHAR2(255) COMMENT '用户名',
    'PASSWORD' VARCHAR2(255) COMMENT '密码',
    'PHONE' VARCHAR2(255) COMMENT '手机号',
    'CREATE_TIME' DATE COMMENT '创建时间',
    'UPDATA_TIME' DATE COMMENT '更新时间',
    'ADMIN_ID' INT COMMENT '管理员ID',
    'DELETED' VARCHAR2(1) DEFAULT '0' COMMENT '逻辑删除;1为删除',
    PRIMARY KEY ('ID')
) COMMENT = '用户表';

同时,建议将表名 'User' 改为其他名称,因为在 Oracle 中 'User' 是一个保留字。

Oracle 数据库 SQL 语句错误及优化建议

原文地址: https://www.cveoy.top/t/topic/m2Iw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录