gpt4 book ai didi

mysql表主键未执行

转载 作者:行者123 更新时间:2023-11-29 12:04:43 25 4
gpt4 key购买 nike

根据:primary key defination它是独一无二的。

在我的数据库中,我有:

:create database college;
:use college;
:CREATE TABLE student (id INT, name VARCHAR(20), email VARCHAR(20),primary key(id,email));

这就是我在数据库中创建表的方式。其中主键是 ID 和电子邮件。这意味着,id 和 email 的值必须是唯一的。现在,我插入值;

mysql> INSERT INTO student (id,name,email) VALUES(1,"Vivek","xuz@abc.com");
Query OK, 1 row affected (0.06 sec)

然后我再次输入相同的条目:

mysql> INSERT INTO student (id,name,email) VALUES(1,"Vivek","xuz@abc.com");
ERROR 1062 (23000): Duplicate entry '1-xuz@abc.com' for key 'PRIMARY'

现在我保持id相同并更改电子邮件

 mysql> INSERT INTO student (id,name,email) VALUES(1,"Vivek","hello@gmail.com");
Query OK, 1 row affected (0.06 sec)

它被插入了..为什么?我将id,email设置为主键..那么为什么这两列不能正常工作?

我输入:

CREATE TABLE student (
s_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name varchar(50),
email varchar(50),
PRIMARY KEY (s_id,email)
);

alter table student add constraint case unique (s_id,email);

现在它也给出了相同的结果

最佳答案

primary key(id,email) 表示复合主键。该组合是唯一的,不一定是单独的列

关于mysql表主键未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com