sql - 快速 SQL 问题 : Correct syntax for creating a table with a primary key in H2?

标签 sql database h2 create-table

我目前正在使用 H2 database 启动一个新的 Java 应用程序,但我对用于创建表的基本 SQL 使用有些困惑。如何制作一个条目(字符串)表,每个条目(字符串)都具有唯一的、自动递增的、非空的、整数主键?这是最基本的事情之一,但我不确定用 H2 做这件事的正确方法是什么。

我把我的困惑归咎于这些(指定了不止一种在不同数据库之间做同样事情的方法;但是无法为 H2 找到正确的方法): http://www.w3schools.com/Sql/sql_primarykey.asp http://www.w3schools.com/Sql/sql_autoincrement.asp

最佳答案

如果我正确阅读了 H2 文档,这应该有效:

CREATE TABLE MyTableName(PKFieldName IDENTITY PRIMARY KEY, StringFieldName VARCHAR(255))

基本上,您只想将键列声明为 IDENTITY 类型。

IDENTITY 类型见:http://www.h2database.com/html/datatypes.html#identity_type
对于 CREATE TABLE 语法,请参阅:http://www.h2database.com/html/grammar.html#create_table

关于sql - 快速 SQL 问题 : Correct syntax for creating a table with a primary key in H2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/692363/

相关文章:

c# - SQL 服务器 : variable length XML storage

spring - HibernateException 缺少表

mysql - 声明的变量在 select 语句中重置

Hibernate 6 H2 方言覆盖 Nulls 优先级被忽略

sql - 如何从返回多行的 SELECT 中创建一个数组

sql - sql中的key和constraint有什么区别?

sql - 在 Oracle SQL 中查找列的最大值

mysql - 我可以添加对数据透视表的外键引用吗

php - zend 表单检查记录在数据库中不存在

PHP mysql匹配多行结果