我似乎在理解如何使用复合键方面有问题。设置一个似乎没问题。但是,却找不到一个如何使用它的例子。我的想法是,如果是一个主键还是一个复合键,就可以选择使用select * from tableA where primary_key = something,而不必详细讨论。MySQL是通过连接来释放关于重复组合密钥的信息。它将匹配所有列从预置复合键?
该问题的Edit/Clarification:解决方案用于自动化软件中,如果使用相同模式的表进行比较的话。具有各种主键</em
假设我有一个表,它有一个由3个varchar(256)列组成的复合主键: A、B和C。B上还有一个索引,这个复合键充当A上的索引。如果我将该表更改为md5(A,B,C)的单个列char(32)主键(以及A上的一个索引和B上的一个索引),此设置对于插入会更有效吗?碰撞的可能性并不困扰我。
MySQL 5.5,使用InnoDB
我使用Spring对现有数据库进行逆向工程,以便对现有数据库进行hibernate建模,在存在复合主键的情况下,它生成XyzClass和XyzClassPK。如果我想对一些作为复合主键一部分的列执行HQL查询,则会得到一个错误,假设复合主键由primaryKey1和primaryKey2组成:
String hql = "select o from XyxClass( com.mysql.jdbc.Util.getInstance(Util.java:386)