mysql - 复合柱上的独特之处

标签 mysql key unique powerdesigner compound-key

我试图确保 RESTAURANTID 中的值和TABLENUMBER在一起,是Unique使用PowerDesigner (12.5) 。我尝试创建 alternate key这导致我的 .sql 中出现以下结果:文件:

create table TABLES
(
   TABLEID             int not null,
   RESTAURANTID         int not null,
   TABLENUMBER         int not null,
   primary key (TABLESID),
   key AK_mykey (RESTAURANTID, TABLENUMBER)
);

但是这样,我仍然可以为 RESTAURANTID 输入相同的值和TABLENUMBER不止一次。

我用过这个http://www.tek-tips.com/viewthread.cfm?qid=403554创建alternate keyPowerDesigner .

有人知道在 PowerDesigner 中实现这一目标的正确方法吗? ?

注意:这不是上面发布的问题的重复,因为我正在寻找一种方法来实现此目的 PowerDesigner无需编辑生成的 sql之后归档。

最佳答案

MySQL 中键(主键除外)的唯一属性作为键的扩展属性存储。

您可以通过显示并转到“ key 属性”对话框中的 MySQL 选项卡来修改它。

或者,在Model>Keys中,您可以使用自定义列和过滤器按钮来显示Ext Unique(扩展)属性键列表,以便您可以一次在多个键上设置此唯一属性。

或者,您可以创建自己的 MySQL DBMS 副本并对其进行编辑。在 Profile>Key 下(使用右键单击),使用以下 Event Handler Script 添加事件处理程序 Initialize,以便每个新键已设置 ExtUnique:

Function %Initialize%(obj)
   obj.setextendedattribute "ExtUnique",true
   %Initialize% = True
End Function

关于mysql - 复合柱上的独特之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191372/

相关文章:

mysql - 如何使用 MYSQL 将字段中的值与 JSON 中的数组相加?

Javascript 运行 PHP 函数来更新/插入 SQL

key - 如何更改cassandra中的行键?

R:在保持顺序的同时折叠列中的重复值

python - 独特的值(value) python

php - 如何获取名字、中间名和姓氏作为用户名,名字之间有一个点,末尾有一个数字,以获得唯一的用户名?

mysql - JDBC 驱动程序和 URL

c# - 如何将多个表中的数据显示到dataGridView

java - 使用 KeyBindings 将所有字符映射到操作

perl - 哈希键编码:为什么我会得到 Devel::Peek::Dump 两种不同的结果?