Docker 同じコンテナ間での通信 APIコンテナからDBコンテナにアクセスできない時の確認

ここでは同じDockerネットワーク内にあるAPI用コンテナ(PHP)から、SQLSERVERのあるDBコンテナにアクセスできなかった時の確認すべき部分を紹介する。MySQLの場合は設定やコマンドが違うのであまり参考にはならない。 前提条件として、コンテナが起動していること。docker psで確認。 コンテナからコンテナへの接続はコンテナ名を指定すること。 設定ファイルの確認 ymlファイルのポ…Continue reading Docker 同じコンテナ間での通信 APIコンテナからDBコンテナにアクセスできない時の確認

SQLserverとMySQLの主なクエリの違い

使ってみて気づいた違いを書いていきます。 随時追加予定。 ISNULL -> COALESCE NULLのときの値置換 WITH (NOLOCK) 使えない のようなSQLを実行しないといけない。 VARCHARではなくCHARで指定 文字列を固定長でキャスト GETDATE()ではなくNOW() ほかにCURRENT_TIMESTAMP()がある。ほぼ同じ。 テーブル作成時、サーバー接続時…Continue reading SQLserverとMySQLの主なクエリの違い

SQL serverからMySQLへデータ移行(スクリプト化して移行が簡単)クエリでCSVインポート

MySQL WorkbenchやSQL Server Integration Servicesを使わずに、 スクリプトで移行する方法を試す。 データベースのスクリプト化 SQLserverにて、移行したいデータベースを右クリック「タスク」→「スクリプトの生成」→「次へ」→ データベース全体か特定のデータベースを選択 →テーブルを選択したら「次へ」→ 詳細設定の部分で、「スクリプトを作成するデータの…Continue reading SQL serverからMySQLへデータ移行(スクリプト化して移行が簡単)クエリでCSVインポート

WHERE句内でCASE文を使うとき、THENには比較演算子は使えない (SQL Server)

タイトルの通り。 SQL Serverでは、WHERE句内でCASE文を使用する際に、THEN句内で比較演算子を直接使用することはできません。比較演算子を使用するためには、CASE文の結果を一時的な列に格納し、その列をWHERE句で使用する必要があります。 ChatGPT SQLのWHERE句内で条件分岐したいときがある。 通常下のように のような感じ書くことが多いだろう。 しかし、 GENDER…Continue reading WHERE句内でCASE文を使うとき、THENには比較演算子は使えない (SQL Server)

SQL Server サブクエリを使ったInsert

カラムの数は合わせる必要がある。 テーブル作成時にInsert 番号を順番に振ってアップデート すでにあるテーブルのデータのとあるカラムに上から順番に番号を振りたいとき まず順番に番号を振ったテーブルを作る このとき、アップデートしたいテーブルの何か一意のデータが必要。 方法はいろいろあるが、numberカラムにidentityをつける。 テーブルを右クリック、IDENTITY設定を「はい」にする…Continue reading SQL Server サブクエリを使ったInsert

SQL Server 異なるサーバー間 (違うDB)でテーブルをコピーしたいとき 簡単な方法

別のデータベースのテーブルからデータをコピー (テーブル構造はコピーできない) 異なるサーバー、もしくは違うDBからいくつかのテーブル内のデータをコピーしたい場合。 自分の開発用と、共有の開発サーバーがあったとする。 共有サーバーから、更新されたテーブルを取得したいとき、 一番簡単な方法は、ウィザードを使う方法である。 データのインポート、エクスポートウィザードを使う この方法はテーブルのカラムに…Continue reading SQL Server 異なるサーバー間 (違うDB)でテーブルをコピーしたいとき 簡単な方法

sql 他のテーブルを参照したいとき テーブル結合するか、しないか 

sqlでの条件指定や、updateなどで、他のテーブルを参照したいとき、 書き方としては2つある。 ・テーブルを JOINさせる方法 SELECT *  テーブルA INNER JOIN テーブルB ON テーブルA.カラムC = テーブルB.カラムD WHERE テーブルB.カラムE= 値 このSQLの内容としては、 WHERE: この条件に当てはまるカラムを選択。 INNNER JOIN: テ…Continue reading sql 他のテーブルを参照したいとき テーブル結合するか、しないか 

An error occurred substituting the named parameters ; Mixed named and positional parameters in エラーが出た時

An error occurred substituting the named parameters PHPでSQL文を実行したときに、以上のようなエラーが出た。 こちらは、翻訳すると 名前付きパラメーターの置換中にエラーが発生しました とのこと。 Mixed named and positional parameters これも、パラメータの場所と名前が混在している。 みたいな感じ。 つまり、…Continue reading An error occurred substituting the named parameters ; Mixed named and positional parameters in エラーが出た時