問題タブ [mysql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
19 に答える
153114 参照

mysql - SQLite の代わりに MySQL を使用して新しい Ruby on Rails アプリケーションを作成する

Rails アプリケーションを MySQL で作成したいと考えています。デフォルトの SQLite ではなく、最新バージョンの Rails でこれを行うにはどうすればよいですか?

0 投票する
7 に答える
1862 参照

sql - 時間内のテーブルの配布

ユーザーごとに約 3000 行の MySQL テーブルがあります。列の 1 つは変更可能な日時フィールドであるため、行は時系列ではありません。

グラフで時間分布を視覚化したいので、多数の個別のデータポイントが必要です。20 個のデータポイントで十分です。

私はこれを行うことができます:

150行ごとに見てください。

または、20 個の個別のクエリを実行して、 and を使用することもできlimit 1ますoffset

しかし、もっと効率的な解決策があるはずです...

0 投票する
3 に答える
2889 参照

mysql - 完全な MySQL データベースの複製ですか? アイデア?人々は何をしますか?

現在、私は 2 台の Linux サーバーで MySQL を実行しています。1 台はラックのすぐ隣の 10 Mbit/s アップロード パイプ (メイン サーバー) の下にあり、もう 1 台は数マイル離れた 3 Mbit/s アップロード パイプ (ミラー) の下にあります。

両方のサーバーでデータを継続的にレプリケートできるようにしたいのですが、いくつかの障害に遭遇しました。それらの 1 つは、MySQL マスター/スレーブ構成の下で、時々、いくつかのステートメントがドロップ (!) します。ミラー URL にログオンしている一部のユーザーは、メイン サーバーにあることがわかっているデータを表示できません。また、その逆も同様です。これが意味のあるデータ ブロックで毎月 1 回発生するとしましょう。そのため、「パケットの損失」の問題であると想定できます (つまり、神は知っていますが、補償します)。

もう 1 つの最も重要な (そして厄介な) 繰り返し発生する問題は、何らかの理由で一方の側でメジャー アップロードまたは更新 (または再起動) を実行し、リンクを切断する必要がある場合、LOAD DATA FROM MASTER が機能せず、私が持っていることです。一方の端で手動でダンプし、もう一方の端でアップロードするのは、最近では 0.5 TB 相当のデータを移動するかなりの作業です。

これのためのソフトウェアはありますか?MySQL(「企業」)がこれを非常に高価なサービス(完全なデータベース複製)として提供していることを私は知っています。そこにいる人々は何をしますか?この構造では、1 つのサーバーが稼働していない場合に、メインの URL が他のサーバーに解決される自動フェールオーバーを実行します。

0 投票する
8 に答える
12781 参照

mysql - MySQL で結果セット全体を連結するにはどうすればよいですか?

次のクエリを試しています。

これは 3 つのクエリがくっついたものです。ただし、返される結果セットは、望ましくないクエリ #1 の結果の前にクエリ #3 の結果を反映しています。

結果がクエリ #1 のすべて、次にクエリ #2 のすべて、次にクエリ #3 のすべてになるように、これらに優先順位を付ける方法はありますか? PHP ではまだこれを実行したくありません (最初のクエリで表示された結果を 2 番目のクエリで表示しないように制御する必要があることは言うまでもありません)。

0 投票する
10 に答える
697531 参照

mysql - MySQLのユーザー名とパスワードを取得するにはどうすればよいですか?

MySQLのユーザー名とパスワードを紛失しました。どうすれば取得できますか?

0 投票する
3 に答える
689 参照

mysql - char よりも大きく、blob よりも小さい

Char はサイズが固定されているため、テーブルが高速になるため優れています。ただし、255 文字に制限されています。500 文字を保持したいのですが、ブロブは可変長であり、それは私が望むものではありません。

MySQL で 500 文字の固定長フィールドを持つ方法はありますか、それとも 2 つの文字フィールドを使用する必要がありますか?

0 投票する
7 に答える
31847 参照

mysql - MS Access を MySQL データベース バックエンドのフロントエンドとして使用する際の問題はありますか?

2 人のユーザーが、最初は MS Access で作成された同じデータベースを、1 つの MDB ファイルをめぐって競合することなく共有したいと考えていました。

単純な MS Access データベースから MySQL にテーブルを移動するには、Migration Toolkit (ちなみにこれはうまく機能します) を使用し、ODBC 経由でそれらのテーブルにリンクするように Access をセットアップしました。

これまでのところ、次のことに遭遇しました。

  • 主キーがなければ、テーブルの行を挿入/更新/削除することはできません (驚くことではありません)。
  • MS Access の AutoNumber フィールドは主キーである必要があります。そうしないと、MySQL の整数列になってしまいます (ナッチ、なぜ PK ではないのでしょうか?)
  • テーブルは MySQL の InnoDB テーブル タイプに移行されましたが、アクセス関係は MySQL の外部キー制約にはなりませんでした。

データベースが使用されると、他の問題は発生する可能性がありますか? 特に、両方のユーザーが同じテーブルで作業している場合は?

0 投票する
7 に答える
22381 参照

php - フィールドに 1 を追加

次の 2 つのクエリを 1 つのクエリに変換するにはどうすればよいですか

私はphpBB modで使用していますが、要点は、レベルを取得し、それに1つ追加してから更新することです.1つのクエリとして実行できれば、はるかに簡単で高速になるようです.

編集:$idはすでに整数に強制されているため、今回はエスケープは必要ありません。

0 投票する
3 に答える
90505 参照

sql - 複数の外部キー?

あるベンダーから別のベンダーに製品を出荷するための日数とコストを追跡することになっているテーブルがあります。私たちは (見事に :p) 配送ベンダー (FedEx、UPS) と製品取り扱いベンダー (Think... Dunder Mifflin) の両方を「VENDOR」テーブルに保存しました。したがって、SHIPPING_DETAILS テーブルには、すべて VENDOR.no を参照する 3 つの列があります。何らかの理由で、MySQL では 3 つすべてを外部キーとして定義できません。何か案は?

二重の主キー定義を削除するように編集されました...


ええ、残念ながらそれは解決しませんでした。今私は得ています:

テーブル './ REMOVED MY DB NAME /SHIPPING_GRID.frm' を作成できません (errno: 150)

phpinfo() を実行すると、mysql について次のことがわかります。

クライアント API バージョン 5.0.45

はい、VENDOR.no は int(6) 型です。

0 投票する
14 に答える
37583 参照

mysql - 開発、テスト、本番環境でデータベースをどのように管理していますか?

開発サーバー、テスト サーバー、および運用サーバーの間でデータベース スキーマとデータを管理する方法の良い例を見つけるのに苦労しました。

これが私たちのセットアップです。各開発者は、アプリと MySQL データベースを実行する仮想マシンを持っています。彼らがやりたいことを何でもするための個人的なサンドボックスです。現在、開発者は SQL スキーマを変更し、SVN にコミットするテキスト ファイルにデータベースをダンプします。

コミットされた最新のコードを常に実行する継続的インテグレーション開発サーバーをデプロイしたいと考えています。ここでこれを行うと、ビルドごとに SVN からデータベースがリロードされます。

「リリース候補」を実行するテスト (仮想) サーバーがあります。現在、テスト サーバーへのデプロイは非常に手作業のプロセスであり、通常は SVN から最新の SQL を読み込んで微調整する必要があります。また、テスト サーバー上のデータには一貫性がありません。最終的には、最後にコミットした開発者がサンドボックス サーバーに持っていたテスト データがそのまま残ります。

すべてが崩壊するのは、本番環境へのデプロイです。ライブ データをテスト データで上書きすることはできないため、すべてのスキーマ変更を手動で再作成する必要があります。データを操作するために多数のスキーマ変更または変換スクリプトがあった場合、これは非常に複雑になる可能性があります。

問題が単なるスキーマである場合は、より簡単な問題になりますが、データベースには、セキュリティやアクセス許可テーブルのメタデータなど、開発中にも更新される「ベース」データがあります。

これが、継続的インテグレーションとワンステップ ビルドに移行する際の最大の障壁です。どのよう解決しますか?


フォローアップの質問: データベースのバージョンを追跡して、特定のデータベース インスタンスをアップグレードするために実行するスクリプトを知るにはどうすればよいですか? Lance のようなバージョン テーブルは、標準的な手順の下に記載されていますか?


タランティーノを参考にしていただきありがとうございます。私は .NET 環境ではありませんが、DataBaseChangeMangement wiki ページが非常に役立つことがわかりました。特にこのPowerpoint プレゼンテーション (.ppt)

*.sql特定のディレクトリ内のスクリプトの名前をデータベース内のテーブルと照合してチェックし、ファイル名の最初の部分を形成する整数に基づいて、そこにないスクリプトを順番に実行する Python スクリプトを作成します。それが非常に単純な解決策であると思われる場合は、ここに投稿します。


このための作業スクリプトがあります。DB が存在しない場合は DB の初期化を処理し、必要に応じてアップグレード スクリプトを実行します。既存のデータベースを消去し、ファイルからテスト データをインポートするためのスイッチもあります。200行くらいなので載せません(興味があればペーストビンに載せるかもしれませんが)。