0

好的,也许是一个真正初学者的问题,我有下表

table name: mytable, it has 2 columns: 'ID' and 'Value'.

这就是我想做的。我想通过'mytable',找出'Value = x'的条目,对于这些条目,我想添加另一个ID等于相同ID且values = y的条目。

我试过:

insert into mytable values (mytable.ID, 'y') where mytable.ID='x'

但我得到一个错误:这里只允许使用常量、常量表达式或变量。列名非法

我正在使用 Sybase。这样做的正确语法是什么?谢谢。

4

1 回答 1

5

如果您想从表中选择然后插入,那么您将需要使用INSERT INTO..SELECT...FROM

insert into mytable 
select a.ID, 'y'
from mytable a
where a.value='x';

请参阅SQL Fiddle with Demo

我假设你的意思是 where 子句来检查 wherevalue='x'不是id.

于 2013-04-24T15:40:09.360 回答