我有 2 个表:带有列的用户(id、用户名、密码)和带有列的 user_failed(user_id、failed、time)。有什么可能的方法可以只使用用户名插入表 user_failed 吗?我尝试使用此代码,但失败了:

INSERT INTO `login_attempts`(`user_id`, `time`, `failed`)
VALUES (SELECT user_id FROM users WHERE username = 'pokemon','',3)

最佳答案

由于多种原因,您的 SQL 查询不正确。

如果我正确解释了您的查询,以下内容应该有效。

INSERT INTO `login_attempts`(`user_id`, `time`, `failed`)
SELECT id, '', 3 FROM users WHERE username = 'pokemon'
INSERTSELECT 进入表不需要 VALUES ( ... ) 。以下是如何使用 VALUES ( ... ) 的示例:
INSERT INTO `login_attempts`(`user_id`, `time`, `failed`)
VALUES (1, '', 3)

此外,您的子查询 SELECT user_id FROM users WHERE username = 'pokemon','',3 WHERE 子句无效。具体来说,我假设的 '',3 部分是您想要为 timefailed 插入的值。

关于mysql - 在mysql中使用SELECT插入值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38540241/

10-11 03:22