0

UPDATE を使用して MySQL で単一のテーブル スキャンを実行する方法はありますか? 以下は標準的な例です。

IF EXISTS (SELECT * FROM Table1 WHERE Column1='SomeValue')
    UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
    INSERT INTO Table1 VALUES (...)

これは、MySQL で実現したい理想的な状況です (ただし、これは MsSQL です)。

UPDATE user SET (name = 'jesse') WHERE userid ='10001'
IF @@ROWCOUNT=0
    INSERT INTO user (name) VALUES('jeeeeee')
4

1 に答える 1

2

MySQL では逆のようなものです。挿入を実行し、キーが既に存在する場合は、行を更新します。

INSERT INTO Table1 (col1,col2,col3) VALUES (val1,val2,val3)
ON DUPLICATE KEY UPDATE col1 = val1, col2 = val2, col3 = val3;

これは、テーブルの一意のキーを持っていることを前提としています (そうですよね?)

于 2012-05-27T03:54:49.477 に答える