ホームページ >バックエンド開発 >Golang >動的 SQL セット Golang

動的 SQL セット Golang

WBOY
WBOY転載
2024-02-11 09:24:191031ブラウズ

动态 SQL 集 Golang

#php エディタ Xinyi は今日、強力な開発ツールである動的 SQL セット Golang を紹介します。 Golang は、学習が簡単で効率的かつ高速な最新のプログラミング言語です。動的 SQL セット Golang は、Golang 言語の利点と動的 SQL の柔軟性を組み合わせて、SQL クエリを処理し、データベースを操作するためのシンプルかつ強力な方法を開発者に提供します。動的 SQL セット Golang を使用すると、開発者は動的 SQL クエリをより簡単に構築でき、さまざまなクエリのニーズに適応する SQL ステートメントを動的に生成できます。小規模なプロジェクトを開発する場合でも、大規模なアプリケーションを開発する場合でも、動的 SQL セット Golang は、開発者がデータベース操作をより効率的に処理し、開発効率を向上させるのに役立ちます。

質問内容

sqliteクエリの構造について質問があります。ユーザー名で行を参照するテーブル内のユーザーが選択した値を更新しようとしています。 テーブルの名前は data で、列は username、password、address、notes です。

私は go の SQL ドライバー (_ "github.com/mattn/go-sqlite3") を使用しています。これが私のクエリです:

リーリー

このシーケンスで発生する構文エラーは 1 つだけです: 「?」の近く: 構文エラー 。 この問題はどのように対処すればよいでしょうか?些細な質問でしたら申し訳ありませんが、私はまだ始めたばかりで、そこから何かを学ぼうとしているところです。

ありがとうございます

回避策

SQL ではこれを行うことはできません。それはsqlite特有のものでもありません。パラメータ化されたプレースホルダは値にのみ使用され、クエリの構造を変更するために使用することはできません。参照用のドキュメントへのリンクをいくつか示します:

あなたがやりたいのは、動的クエリを構築することです。これを行うには、クエリ文字列を自分で作成します:

リーリー

ただし、column_name のデータ ソースによっては、SQL インジェクションに注意する必要があります (これはまったく別のトピックです。興味のある方はご覧ください。 https://imgs.xkcd.com/comics/エクスプロイト_of_a_mom.png)。

これを実現するのに役立つライブラリもあります。たとえば、例を挙げると、これを確認できます https://www.php.cn/link/2d16ad1968844a4300e9a490588ff9f8

以上が動的 SQL セット Golangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。