-1

ID + 列が既に存在するテーブル SQL を更新したい。

問題は、挿入を行いたいときに、メッセージ エラーが表示されたことです。

**#1062 - Duplicate entry '35' for key 1**

したがって、UPDATE を作成しようとしましたが、構文が正しくないため、機能しません。リクエスト SQL の形式は次のとおりです。

INSERT INTO `liens_series` 
(`id`, `id_series`, `password`) 
VALUES (35, '12', 
'<br>Saison 3 en cours de production'), .... 

リストが長すぎます。

4

4 に答える 4

1

MySQL の INSERT ステートメントの ON DUPLICATE KEY UPDATE 句を調査することをお勧めします。簡単に言えば、ステートメントは次のように変更される可能性があります

INSERT INTO `liens_series`
  (`id`, `id_series`, `password`)
VALUES
  (35, '12',  '<br>Saison 3 en cours de production')
ON DUPLICATE KEY UPDATE `id_series` = '12',
                        `password` = '<br>Saison 3 en cours de production')

共有してお楽しみください。

于 2010-12-22T14:02:13.240 に答える
0

これを使用してください:http://dev.mysql.com/doc/refman/5.5/en/insert-on-duplicate.html 必要に応じて、必要に応じて挿入または更新します。

于 2010-12-22T13:17:32.553 に答える
0

IDがまだ決定されていない新しい行を挿入する場合:

INSERT INTO `liens_series` (`id`, `id_series`, `password`) VALUES (NULL, '12', '<br>Saison 3 en cours de production');

また

INSERT INTO `liens_series` (`id_series`, `password`) VALUES ('12', '<br>Saison 3 en cours de production');

新しい ID はLAST_INSERT_ID()(MySQL) またはmysql_insert_id()(C、PHP など) で返されます。

于 2010-12-22T13:32:45.793 に答える
0

行を挿入し、既に存在する場合はその内容を更新する場合は、次を使用しますREPLACE INTO

REPLACE INTO `liens_series` (`id`, `id_series`, `password`) VALUES (35, '12', '<br>Saison 3 en cours de production');

バックグラウンドで、ID 35 の行が削除され (存在する場合)、INSERT発行されることに注意してください。そのため、行を部分的にのみ更新することはできず、影響を受ける行の数は、暗黙的な DELETE の数 + INSERTS の数を反映しています。

于 2010-12-22T13:37:41.850 に答える