1

我的数据库上有两个表,它们都包含一些要由用户完成的任务,第一个表命名taches为第二个表admin_taches,它们都包含一个名为 task_id 的列,该列在其表中是唯一的

我是否有可能使列 task_id 在两个表中都是唯一的?我需要 task_id 的值是唯一的!我怎样才能做到这一点。

我正在使用 Oracle WorkBench 作为我的数据库的 IDE

编辑: ID在每个表中插入时自动递增

4

2 回答 2

2

将它们全部放在一个表中,并在其中添加一列admin enum('no','yes') default 'no'

另一种解决方案是在其中一个 id 前面加上一个字母,这在 id 中不存在。

于 2013-02-18T21:46:35.490 回答
1

您可以通过创建一个 SEQUENCE 对象来做到这一点。这是由 DBMS 维护的序列。然后,当您插入任一表时,您可以使用 sequence.nextval

我已经在 Oracle 以外的数据库上使用过它,但是查看以下页面,Oracle 似乎也支持它们:http ://www.techonthenet.com/oracle/sequences.php

编辑:我刚刚意识到您将其标记为“MySql”,而不是 Oracle。如果您使用的是 MySql,我认为不支持这种语法。

于 2013-02-18T21:49:28.873 回答