SQL ステートメントのすべての値を一重引用符で囲んでも問題ありませんか? 例えば:
これは、books という単純なテーブルです。
id | title
1 | Some book name
2 | Second book name
次のようなステートメントを記述しても問題ありませんか。
SELECT * FROM books WHERE id = '1'
SQL Server 2008 と MySQL 5 でそのクエリをテストしましたが、うまく機能しますが、ID フィールドは実際には整数であるため、パフォーマンスの問題があるかどうかに興味があります。
2 番目の質問は、次のようなステートメントを記述しても問題ありません。
SELECT * FROM books WHERE id = N'1'
N プレフィックスは SQL サーバーで UTF-8 フィールドに使用されますが、SQL サーバーと MySQL でテストしたところ、どちらも問題なく動作しました。私はそれをテストしていないので、SQLite が N プレフィックスをサポートしているかどうかはわかりません。
私がこれを尋ねている理由は、一般的な SQL データベース (SQL Server、MySQL、SQLite、そしておそらく MS Access) で動作するデータベース クラスを構築しているためです。フィールドのデータ型について。いつでも N'Some value' で値を囲むことができますが、これは正しいのか、パフォーマンスの問題はありますか?