插入没有id postgreSQL的命令

时间:2013-06-04 17:39:30

标签: mysql sql postgresql

在mySQL中,我能够做到

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

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

谢谢

2 个答案:

答案 0 :(得分:4)

方法#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
       }

答案 1 :(得分:1)

这不是因为发生了mysql。您可以进行此类查询,因为您已将id设置为auto_increment

你可以使用the serial pseudo data type instead

在postgreSQL中实际做同样的事情

主要列序列的示例

id   serial PRIMARY KEY,