Mysql - 使两列的组合唯一

标签 mysql symfony doctrine-orm

我有一个 mysql 数据库表,其中有两列重要的列:university_id 列和username 列。 这里的university_id对于整个表来说应该是唯一的,但是两列可以重复多次但是相同的组合不能重复,用户名应该只对于university_id来说是唯一的。这就是我的意思

 id   university_id     username
 1       10001           DrDre
 2       10002          slimshady
 3       10003          slimshady
 4       10004           DrDre
 5       10005           lilwyn
 6       10005           lilwyn <- only this line would be illegal 
 7       10005          kanyeEast
  • 如果可能的话,我也想知道如何使用 symfony2 中的原则来做到这一点

-谢谢

最佳答案

如果你没有对表做任何约束,请使用下面的alter语句-

alter table mytable 
add unique key Uk_university_id(university_id), 
add unique key Uk_unvid_username(university_id,username);

更新:

alter table mytable  
add unique key Uk_unvid_username(university_id,username);

关于Mysql - 使两列的组合唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32204012/

相关文章:

mysql - 在mysql中将两行合并为一行

PHP 无法显示更新的值

mysql - 两个并排表和连接表有什么区别?

doctrine-orm - Doctrine 2 Hydrator - 带下划线的字段

php - Doctrine2/Symfony2 : One-Way Many-to-Many Query with Left Join

php - Symfony Doctrine 查询生成器在 arraycollection 中的最后一个位置

php - 如何在 laravel 中日期相同的地方求和时间

php - 使用 Native SQL 的 Doctrine 查询总是返回空数组

symfony - 如何在 Symfony 框架 Twig 文件中使用核心 php 函数

Symfony2 表单集合无法加载类型 CollectionType