对于 MySQL,如果我将用户 ID 和 token 存储在 user
表中,并且仅当提供的用户 ID 和 token 匹配时才允许在另一个表中插入记录。我试过了
INSERT INTO product(description)
VALUES('123')
WHERE EXISTS
(SELECT 1 FROM users where userid='myuserid' AND token='ABCD')
下面的 SQL 语句产生错误 “检查与您的 MySQL 服务器版本相对应的手册,了解在‘WHERE EXISTS (SELECT 1 FROM users where userid='29')'附近使用的正确语法”
但是对于更新我可以成功更新
UPDATE product
SET description='123'
WHERE EXISTS
(SELECT 1 FROM users where userid='myuserid' AND token='ABCD')
请哪位高手帮忙指教。 在执行插入之前,我需要最有效的方法来验证用户 token 是否正确。
最佳答案
请尝试使用触发器:
CREATE TRIGGER tokenValidator
BEFORE INSERT
ON product
FOR EACH ROW BEGIN
IF (SELECT 1 FROM users where userid='myuserid' AND token='ABCD') THEN
INSERT INTO product(description) VALUES('123')
END IF
关于mysql - 在存在的地方插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34346034/