Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL中是否存在重复密钥冲突?_Mysql - Fatal编程技术网

MySQL中是否存在重复密钥冲突?

MySQL中是否存在重复密钥冲突?,mysql,Mysql,嗯,是的,我喜欢。我收到以下错误: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1-684-Answer' for key 'user_id' (SQL: insert into `votes` (`votable_id`, `votable_type`, `user_id`, `updated_at`, `created_at`) values (684, Answer, 1, 2016-03-1

嗯,是的,我喜欢。我收到以下错误:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1-684-Answer' for key 'user_id' (SQL: insert into `votes` (`votable_id`, `votable_type`, `user_id`, `updated_at`, `created_at`) values (684, Answer, 1, 2016-03-17 12:16:53, 2016-03-17 12:16:53)) 
这表明我对user_id列有唯一的约束?观察投票结果;我不确定这是否表明ot不是。但它不应该这样做,一个用户应该能够多次投票:

mysql> describe votes;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| user_id      | int(11)      | NO   | MUL | NULL    |                |
| votable_id   | int(11)      | NO   |     | NULL    |                |
| votable_type | varchar(255) | NO   |     | NULL    |                |
| value        | int(11)      | NO   |     | NULL    |                |
| created_at   | datetime     | NO   |     | NULL    |                |
| updated_at   | datetime     | NO   |     | NULL    |                |
| deleted_at   | datetime     | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+



mysql> show indexes from votes where column_name = 'user_id';
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| votes |          0 | user_id  |            1 | user_id     | A         |          51 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

以上是否表示设置了唯一属性?我正在查看迁移文件,看不到分配了UNIQUE属性的位置。可能有人手动输入。

这表明您的表中有一个索引用户id

您可以使用以下代码查看将列出所有索引的索引:

SHOW INDEX FROM votes;

如果它不能解决您的问题,请删除唯一索引并重新创建它。

这表明您的表中有索引用户id

您可以使用以下代码查看将列出所有索引的索引:

SHOW INDEX FROM votes;

如果它不能解决您的问题,请删除唯一索引并重新创建它。

非唯一=0。这意味着它不能包含重复项。请参阅文档。

非唯一=0。这意味着它不能包含重复项。见文件