好的,也许是一个非常初学者的问题,我有下表
table name: mytable, it has 2 columns: 'ID' and 'Value'.
这就是我想要做的。我想通过'mytable',找出'Value = x'的条目,对于那些条目,我想添加另一个条目,其中ID等于相同的ID和值= y。
我试过了:
insert into mytable values (mytable.ID, 'y') where mytable.ID='x'
但是我收到了一个错误:这里只允许使用常量,常量表达式或变量。列名是非法的
我正在使用Sybase。这样做的正确语法是什么?感谢。
答案 0 :(得分:5)
如果您想从表中选择然后插入,那么您将需要使用INSERT INTO..SELECT...FROM
:
insert into mytable
select a.ID, 'y'
from mytable a
where a.value='x';
我假设您指的是where子句来检查value='x'
而不是id
的位置。