sql - 插入一行没有值得到生成的id

标签 sql postgresql sql-insert

我想插入一行以便获取生成的 ID。

我有一个名为“TypeOfDog”的表,其中包含列“id: smallserial”(自动生成的 id)。 我有另一个名为“TypeOfDogLang”的表,其中包含列“id: smallint”(pk + fk 到 TypeOfDog 的 id)、“lang”(pk)和“name”(不同语言的名称)。

+-----------------------+
|       TypeOfDog       |
+-----------------------+
| id | smallserial | pk |  <-- Insert here
+----+-------------+----+

+--------------------------+
|       TypeOfDogLang      |
+--------------------------+
| id   | smallint | pk, fk |
+------+----------+--------+
| lang | text     | pk     |
+------+----------+--------+
| name | text     | nn     |
+------+----------+--------+

我想在“TypeOfDog”中插入一行而不强制输入 id,这样它就可以由数据库自动生成。

类似INSERT INTO "TypeOfDog"(NULL) VALUES (NULL) RETURNING id;

我正在使用 postgreSQL。

谢谢。

最佳答案

INSERT INTO "TypeOfDog" VALUES (default) RETURNING id;

关于sql - 插入一行没有值得到生成的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26065721/

相关文章:

mysql - 在 mysql 的查询中不使用 DISTINCT 的查询形成中的逻辑错误

sql - 如何重用 SELECT、WHERE 和 ORDER BY 子句的结果?

arrays - 使用通配符/喜欢从 postgres 中的数组中选择

MySQL插入语句对1个表的所有记录进行多对多连接表

python - 使用 python mysql DB 使用 ON Duplicate Key 将重复值插入 DP 时出错

c# - 防止 EDMX 合并冲突和 Cherry Picking 问题

php - SQL SELECT 具有最高值的行,其中 Problem_id 相同

mysql - 如何根据价格确定哪个客户购买了商品

postgresql - 如何从 postgresql 中的字符串列中删除我的停用词

mysql - 尝试将一个表插入另一个表时出现问题