5

私はMySQLを多用するGoのプログラムに取り組んでいます。読みやすくするために、INSERT ステートメントの各列名の後に列の値を含めることはできますか? お気に入り:

INSERT INTO `table` (`column1` = 'value1', `column2` = 'value2'...);

それ以外の

INSERT INTO `table` (`column`, `column2`,...) VALUES('value1', 'value2'...);

SQL文字列がかなり長くなることが多いことを考慮して、どの値がどの列に関連付けられているかを簡単に確認できるようにします

4

3 に答える 3

3

いいえ、提案された構文を使用することはできません (それはいいことですが)。

1 つの方法は、列の名前と値を並べることです。

INSERT INTO `table` 
(`column`, `column2`,...) 
VALUES
('value1', 'value2'...);

「ステートメントには文字列の外部からの変数が含まれています」というコメントに応じて更新します。SQLステートメントをパラメーター化すると、列名を変数に一致させると、パラメーターがそれぞれの列に名前が付けられているかどうかを簡単に確認できます: @ColumnName.

これは、実際に TSQL スクリプトで行う方法です。

INSERT INTO `table` 
(
    `column`, 
    `column2`,
    ...
) 
VALUES
(
    'value1', 
    'value2',
    ...
);

(行頭にコンマを入れるのも一般的です)

しかし、正直なところ、十分な数の列を取得すると、列の位置を混同しやすくなります。そして、それらが同じタイプ (および同様の値の範囲) を持っている場合、すぐには気付かないかもしれません....

于 2013-09-22T02:20:39.517 に答える