gpt4 book ai didi

mysql外键插入

转载 作者:行者123 更新时间:2023-11-29 00:18:20 26 4
gpt4 key购买 nike

使用这两个表,我试图创建一个查询来插入一个新类(class),但我使用的是外键,我不知道如何将用户(表)ID 传递到类(class)(表)ID .

我想得到这样的东西

我完全迷失了,关于如何将数据插入到包含外键的表中,我想做的是:

  1. 首先一个人可以注册(用户表)

2.然后用户将可以添加类(class)(我使用外键来识别特定用户的类(class))

用户表

id | username |
---------------
1 | test |

类(class)表

coursesid | coursesname | id(same id that in users table)

1 | courses test| 1

创建表命令是

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password` char(64) COLLATE utf8_unicode_ci NOT NULL,
`salt` char(16) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1;



CREATE TABLE `course` (
`courseid` int(11) NOT NULL AUTO_INCREMENT,
`coursename` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`id` int(11) NOT NULL,
UNIQUE KEY (`courseid`)
FOREIGN KEY (od) REFERENCES users(id)
)

最佳答案

您可以使用子查询来查找用户 ID,例如:

insert into course
(courseid, coursename, id)
values
(1, 'test courses',
(SELECT id FROM users where username = 'test')
)
;

当然,如果你知道用户id,你可以直接插入这个id:

insert into course
(courseid, coursename, id)
values
(1, 'test courses', 1)
;

仅插入最后一个用户 ID 的附加查询:

insert into course
(courseid, coursename, id)
values
(1, 'test courses',
(SELECT max(id) FROM users)
)
;

关于mysql外键插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22035887/

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