gpt4 book ai didi

Mysql数据库-主键问题

转载 作者:行者123 更新时间:2023-11-29 14:54:26 25 4
gpt4 key购买 nike

我有 2 个表:表 1(用户 ID、用户名、密码)和表 2(用户 ID、a、b、c)。

表1有一个userid字段(主键),表2也有userid(引用表1)。

如果我执行插入语句,向表 2 添加一行,表 2 如何生成 userid 字段?

编辑:我想将内容插入到表 2 中,其中表 2 中的用户 ID 必须与表 1 中的用户 ID 匹配 - 我需要设置哪些约束

最佳答案

数据库不理解 table1 之间的关系和table2除非您明确指定。您可以使用SQL foreign keys如果您使用支持它们的数据库引擎(InnoDB)。

CREATE TABLE table1 (
userid INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL);
CREATE TABLE table2 (
rowid INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
userid INTEGER NOT NULL
REFERENCES table1(userid)
ON DELETE CASCADE ON UPDATE CASCADE
-- other columns here
);

REFERENCES选项将告诉数据库引擎 table2.userid要求 table1 中存在一行这样table1.userid = table2.useridON DELETEON UPDATE子句将导致删除 table1 中的一行自动删除/更新 table2 中的行.

您无法在 table2 中创建行直到您在 table1 中为用户创建了一行。 table1 中的行将自动生成userid 。当您插入table2时,您将明确包含 table1 中的用户 ID建立行之间的链接。

关于Mysql数据库-主键问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5004390/

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