0

ネイティブ テーブルを使用する FoxPro では、通常、新しいデータを挿入するときにこれを行います。

Sele Table
If Seek(lcIndex)
     Update Record
Else
     Insert New Record
EndIf

MYSQL をデータベースとして使用する場合、SPT を使用して FoxPro コードでこれを行うための最善かつ最速の方法は何ですか? たくさんの記録を更新していきます。最大 80,000 トランザクション。

ありがとう、ハーバート

4

3 に答える 3

0

これは、SQLEXEC のステートメント文字列になります。

INSERT INTO SOMETABLE 
SET KEYFIELD = ?M.KEYFIELD, 
FIELD1 = ?M.FIELD1
...
FIELDN = ?M.FIELDN
ON DUPLICATE KEY UPDATE
FIELD1 = ?M.FIELD1
...
FIELDN = ?M.FIELDN

ON DUPLICATE KEY UPDATE 部分にはキー フィールドが含まれていないことに注意してください。それ以外の場合は、通常は挿入と同じになります (または、レコードが既に存在するときに何か他のことをしたい場合はそうではありません)。

于 2013-05-20T11:33:14.043 に答える