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 構文にエラーがあります。'='decrease' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください) 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 に答える