1

在 mySQL 我能做到

INSERT INTO table_name (column_name1, column_name2) VALUES('John', 'Doe);

如您所见,我不必提及 ID,我将如何在 postgreSQL 中执行此操作。

谢谢

4

2 回答 2

7

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

例子 :

CREATE TABLE MyTable
(
   ID     serial   NOT NULL,
   column1 type,
   column2 type
}

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

CREATE SEQUENCE my_sequence START 1;

CREATE TABLE MyTable
       (
       ID     integer   DEFAULT nextval('my_sequence'::regclass) NOT NULL,
       column1 type,
       column2 type
       }
于 2013-06-04T17:43:04.333 回答
3

这不是因为mysql发生这种情况。您可以进行此类查询,因为您已设置idauto_increment

您实际上可以通过使用串行伪数据类型在 postgreSQL 中做同样的事情

主列序列示例

id   serial PRIMARY KEY,
于 2013-06-04T17:46:20.570 回答