您好,MySQL DBMS中有两张表:
用户
+----+-------+----------+ | id | login | password | +----+-------+----------+ | 1 | o1 | 123 | +----+-------+----------+
会议
+-------+--------+---------+---------------------+---------------------+ | token | active | user_id | create_time | update_time | +-------+--------+---------+---------------------+---------------------+ | first | 1 | 1 | 2017-07-06 12:31:00 | 2017-07-06 12:31:00 | +-------+--------+---------+---------------------+---------------------+
您需要执行以下操作:如果user
有一行登录名是 o1,则将条目添加到session
.
我做了这样的事情,但没有用:
if((select count(*) from user where login = 'o1')>0,
insert into session values ('first', 1, now(), now()),
select NULL from user);
如果 user.login 是唯一的那么
如果它不是唯一的 - 那么,添加 LIMIT 1(或更好 - 额外的选择条件以便选择一条记录)。
只是不清楚为什么在有自动 DEFAULT 和 ON UPDATE 时对 create_time 和 update_time 字段进行手动分配...
函数
IF
只能从查询/内联过程中执行。条件插入可以通过
INSERT-SELECT-WHERE
. 例如像这样:或者像这样:
您提供的查询中的列数与表中的列数
sessions
不匹配。再次检查请求,您可能需要选择user_id
。