SELECT IF((SELECT id FROM users where store='XXX' limit 1) IS NULL, null, (SELECT id FROM users where store='XXX' limit 1)) INTO @user_id;
select @user_id;
INSERT INTO `orders`(`user_id`)VALUES(@user_id);
我需要的是,当@user_id为null时,我不想插入我的表订单。如果我在插入语句上方放置一个if其他语句,我会遇到一个错误,说"语法错误出乎意料"。
使用ifnull函数,这样:
SELECT IFNULL(condition, value_if_condition_is_null)
在您的查询中,类似:
SELECT IFNULL((SELECT id FROM users where store='XXX' limit 1), (SELECT id FROM users where store='XXX' limit 1))) INTO @user_id;