插入没有ID的命令postgreSQL

abd*_*003 -1 mysql sql postgresql

在MySQL中,我能够做到

INSERT INTO table_name (column_name1, column_name2) VALUES('John', 'Doe);
Run Code Online (Sandbox Code Playgroud)

如您所见,我不必提及ID,我将如何在postgreSQL中做到这一点。

谢谢

Anu*_*tel 5

方法1: 您可以将ID列声明为Serial, 在这种情况下,它将为您的列创建隐式序列。

范例:

CREATE TABLE MyTable
(
   ID     serial   NOT NULL,
   column1 type,
   column2 type
}
Run Code Online (Sandbox Code Playgroud)

方法2: 或者,您可以手动定义一个序列,然后将其下一个值指定为该列的默认值。

CREATE SEQUENCE my_sequence START 1;

CREATE TABLE MyTable
       (
       ID     integer   DEFAULT nextval('my_sequence'::regclass) NOT NULL,
       column1 type,
       column2 type
       }
Run Code Online (Sandbox Code Playgroud)