我不确定它是否可能,但我在尝试选择一个值来执行+1时插入。我这样做的原因是因为我的列是自动增量,但值都是在各个地方。
这是我到目前为止所做的事情,它不会让我做插入:
insert into channels set chanid=(select chanid from channels where parent=2
order by chanid desc limit 1)+1
答案 0 :(得分:1)
insert into channels(chanid)
select chanid+1 from channels where parent=2
order by chanid desc limit 1
答案 1 :(得分:1)
尝试在子查询中使用别名。它为我做了诀窍。
insert into channels
set chanid=(
select c.chanid
from channels as c
where c.parent=2
order by c.chanid desc
limit 1
)+1
答案 2 :(得分:0)
如果我已正确理解你的问题,请试试这个!
insert into channels set chanid=(select chanid+1 from channels where parent=2 order by chanid desc limit 1)
答案 3 :(得分:0)
要重置auto-increment
值,您可以尝试
SET @var_count = 0;
UPDATE channels
SET chanid = (@var_count := @var_count + 1);
或
删除auto-increment
列并在其上重新创建{.1}}。