MySQLx Collection テーブルに挿入する必要がある大量の JSON データがあります。 JSON データをロードしようとすると、現在の Node 実装がクラッシュし続けます。これは、コレクション API 経由で一度に大量のデータを挿入しているためだと思われます。従来の SQL ステートメントを使用してデータベースにデータを手動で挿入したいと考えています (この SQL ステートメントでこの NodeJs クラッシュを乗り越えられることを願っています)。
問題は、次のテーブル定義があることです:
リーリーしかし、走っているとき
ドキュメント値を挿入 ('{}'、DEFAULT、DEFAULT)
わかりました:
デフォルト値を提供せず、NULL を使用して (ただし、_id はデフォルトであっても NULL を許可しません)、_id に 0 を使用し、数値と uuid_to_bin(uuid()) を使用してみましたが、それでも同じ結果が得られます間違い。
このデータをテーブルに直接挿入する方法 (私は session.sql('INSERT...').bind(JSON.stringify(data)).execute()
- @ を使用しています。 mysql /xdevapi ライブラリ)
P粉1913232362024-02-22 09:33:46
_id
列は、JSON ドキュメント内の同じ名前のフィールドの値に基づいて自動的に生成されます。 X プラグインは、CRUD インターフェイスを使用してドキュメントを挿入するときに、このフィールドに一意の値を生成できます。ただし、単純な SQL ステートメントを実行すると、そのロジックもバイパスされます。したがって、_id
を自分で生成した場合はドキュメントに挿入できますが、それ以外の場合はこのエラーが発生します。
例として (crypto .randomInt()
を使用):
CRUD API の問題に興味があり、それを再現できるかどうかも確認したいと思いました。この場合、これらのドキュメントをどのように挿入し、「クラッシュ」したときにどのようなフィードバック (ある場合) が提供されるのでしょうか?
免責事項: 私は、Node.js 用の MySQL X DevAPI コネクタの主任開発者です。