使用Select子句插入触发器后的MySql

gtlvzcf8  于 4个月前  发布在  Mysql
关注(0)|答案(1)|浏览(61)

以下查询生成一个20个字符的随机字符串:

SELECT LEFT(MD5(RAND()), 20);

字符串
我的目标是在添加新行时将其插入到users_address字段的token字段中。我创建了以下触发器:

BEGIN       
    INSERT INTO users_address (token) VALUES (SELECT LEFT(MD5(RAND()), 20));
END


它返回错误“You have an error in your SQL syntax; check the manual."。如果我用一个实际的字符串替换SELECT语句,触发器就会被创建,所以问题似乎是SELECT。我需要做什么来改变它?

7uhlpewt

7uhlpewt1#

VALUES条款中不需要SELECT

INSERT INTO users_address (token) VALUES (LEFT(MD5(RAND()), 20));

字符串
Demo here

相关问题