sql - h2 sql,用多列主键创建表?

标签 sql h2

如何使用 在 CREATE TABLE 语句中创建多列主键h2 数据库?
根据我的调查,在 mySQL 和 Apache Derby 数据库中执行此操作的代码是:

CREATE TABLE SAMP.SCHED(
    CLASS_CODE CHAR(7) NOT NULL, 
    DAY SMALLINT NOT NULL, 
    STARTING TIME, 
    ENDING TIME,
    PRIMARY KEY (CLASS_CODE, DAY));

但这在 h2 中不起作用,它会导致“org.h2.jdbc.JdbcSQLException:SQL 语句中的语法错误”

任何帮助深表感谢。谢谢

最佳答案

从这里:

  • http://www.razorsql.com/features/h2_add_primary_key.html

  • 这应该有效:
    ALTER TABLE SAMP.SCHED ADD PRIMARY KEY (CLASS_CODE, DAY)
    

    关于sql - h2 sql,用多列主键创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9652120/

    相关文章:

    mysql - 保持动态数据库字段的最佳方式?

    java - 连接有一个远程数据库

    java - Spring Data Jpa 保存测试失败

    spring - 在 Maven 中的集成测试之间删除内存数据库中的 H2

    mysql - SQL 查询将同一个表与 SUM 连接起来,直到每个返回的行

    sql - 使用哪个索引

    sql - 在字符串中存储数组(数据库专家问题)

    sql - InnoDB 排序真的那么慢吗?

    java - 如何修改 `@SQLUpdate` 以将 `Joda` `DateTime` 对象转换为 `h2` 可读时间戳?

    mysql - 如何使用 H2 测试 MySQL 区分大小写