私はデータベースのレビュー/再設計/リファクタリングを行っており、ほぼ同じデータをよりスマートに保存する新しいデータベースを作成したいと考えています。'legacy'データベースの問題の1つは、キーとインデックスが適切に使用されていないため、存在しないはずのエントリが重複していることです。
レガシーデータベースからデータを読み取り、SQLスクリプトを生成するPythonスクリプトを作成しました。このスクリプトは、非常によく似たSQL INSERTステートメントを多数使用して、レガシーデータベースから新しいデータベースにこれらの値を挿入します。SQLスクリプトは、エラーメッセージが表示された重複エントリが検出されるたびに停止します
3086行目のエラー1062(23000):キー「lat_lon_height」のエントリ「56.450000000--3.366670000-121」が重複しています
どのAFAICTがまさにそれがすべきことです。ただし、今のところ、重複するエントリを挿入するのではなく、スクリプトを続行して、それらに関する警告を出力する必要があります。MySQLのドキュメントやその他のオンラインリソースに従って、スクリプトの最初にいくつかの方法で続行ハンドラーをインストールしようとしましたが、すべて構文エラーが発生します。
DECLARE CONTINUE HANDLER FOR 1062
SELECT 'Duplicate key in unique index';
また
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000'
SELECT 'Duplicate key in unique index';
また
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000'
BEGIN
SELECT 'Duplicate key in unique index';
END;
私は何を間違っているのですか?