2

目前使用 MySQL 数据库

table (t_2)想要为我的 where 条件中的每个匹配条目插入一个新行table (t_1)

我还想为每个条目包含一个单独的表中的计数值(来自表计数器的计数)和每个条目的字符串值“减少”。不知道如何解决这个问题,这就是我目前所拥有的:

INSERT INTO t_2(count,id,val='decrease')
SELECT MAX(count) as count FROM counter
SELECT id FROM t_1 WHERE val < 0

我得到的错误是:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '='decrease' 附近使用正确的语法) SELECT count FROM counter SELECT id FROM t_1 WHERE val < 0' at line 1

我知道我可能不应该有,val='decrease'但只是想说明我希望它是为每个新行插入的字符串值。

4

2 回答 2

3

试试这个:

INSERT INTO t_2 (count,id,val) 
SELECT 
    (SELECT MAX(count) FROM counter),
    t1.id, 
    'decrease'
FROM t_1 
WHERE val < 0,
于 2012-05-26T05:26:10.007 回答
3

这是你要找的吗?

INSERT INTO t_2(count,id,val)
    SELECT (SELECT MAX(count) as count FROM counter) as count, id, 'decrease' as val
    FROM t_1
    WHERE val < 0
于 2012-05-26T05:26:38.063 回答