タグ付けされた質問 「mysql」

MySQLは、構造化照会言語(SQL)を使用する無料のオープンソースのリレーショナルデータベース管理システム(RDBMS)です。SQL Server、SQLiteなど、他のDBにはこのタグを使用しないでください。これらはすべて、独自のSQL方言を使用してデータを管理する異なるDBです。

13
MySQLは列が空でない場所を選択します
MySQLでは、何かが存在する場所でのみ列を選択できますか? たとえば、次のクエリがあります。 select phone, phone2 from jewishyellow.users where phone like '813%' and phone2 phoneが813で始まり、phone2に何かが含まれている行のみを選択しようとしています。
182 sql  mysql 

4
MySQL / SQL:日時列でのみ日付でグループ化
次のような列を持つテーブルを持っている:mydate DATETIME... 私は次のようなクエリを持っています: SELECT SUM(foo), mydate FROM a_table GROUP BY a_table.mydate; これはdatetime、時間と分を含む完全なでグループ化されます。私は、日付によって、でグループを作ることを望むYYYY/MM/DDありませんでYYYY/MM/DD/HH/mm。 誰でもこれを行う方法を知っていますか?私はコード内で動的に(atmなので)まだ実行できますが、ゴミ箱のコードをクリーンアップしています。これはSQLを使用して行うことができます。方法はわかりません:(。
182 sql  mysql 

12
MySQLの主キーを削除する
user_customersをライブMySQLデータベースの権限にマップする次のテーブルスキーマがあります。 mysql> describe user_customer_permission; +------------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | user_customer_id | int(11) | NO | PRI | NULL | | | permission_id | int(11) | NO …

8
複合主キーを正しく作成する方法-MYSQL
これは、私が作業している激しいセットアップの全体的な単純化です。table_1また、table_2どちらもIDとして自動インクリメントサロゲート主キーがあります。info両方の情報を含むテーブルがあるtable_1とtable_2。 table_1 (id, field) table_2 (id, field, field) info ( ???, field) とinfoのIDの複合の主キーを作成するかどうかを決定しようtable_1としていtable_2ます。これを行うとしたら、どれが最も理にかなっていますか? (この例では、ID 11209とID 437を組み合わせています) INT(9)11209437 (これがなぜ悪いのか想像できます) VARCHAR (10) 11209-437 DECIMAL (10,4)11209.437 または、他の何か? これをMYSQL MYISAM DBの主キーとして使用しても問題ありませんか?

5
MySQL-選択時に行番号を取得する
アイテムがソートされている場合、selectステートメントを実行して行番号を取得できますか? 私はこのようなテーブルを持っています: mysql> describe orders; +-------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------------------+------+-----+---------+----------------+ | orderID | bigint(20) unsigned | NO | PRI | NULL | auto_increment | | itemID | bigint(20) unsigned | NO | | NULL | | +-------------+---------------------+------+-----+---------+----------------+ 次に、このクエリを実行して、ID別の注文数を取得できます。 SELECT itemID, …
181 mysql  sql  row-number 

5
MySQLの「NOT IN」クエリ
簡単なクエリを実行してTable1、別のテーブルの列に主列の値が存在しないすべての行をスローしたいと思いました(Table2)。 私は使ってみました: SELECT * FROM Table1 WHERE Table1.principal NOT IN Table2.principal 代わりに、これは構文エラーをスローしています。グーグル検索は、MySQLがサポートしておらずNOT IN、非常に複雑なものを使用する必要があると人々が言っ​​ているフォーラムに私を導きました。これは本当ですか?または私は恐ろしい間違いをしていますか?
181 sql  mysql 

10
MySQLの最後の行を選択
SELECTMySQLテーブルの最後の行はどうすればよいですか? 私はしていINSERTたデータをすると、私は前の行から列の値を取得する必要があります。 ありますauto_incrementテーブルでは。
181 mysql 

17
mysqldを停止する方法
mysqld(macを使用)の起動コマンドを見つけるには、次のようにします。 ps aux|grep mysql mysqlサーバーを起動できる次の出力が表示されます。 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=... コマンドラインからmysqlを停止するために必要なコマンドをどのように見つけますか?
181 mysql  macos 

14
MYSQL ORとINのパフォーマンス
以下の性能に違いはないかと思います SELECT ... FROM ... WHERE someFIELD IN(1,2,3,4) SELECT ... FROM ... WHERE someFIELD between 0 AND 5 SELECT ... FROM ... WHERE someFIELD = 1 OR someFIELD = 2 OR someFIELD = 3 ... またはMySQLはコンパイラがコードを最適化するのと同じ方法でSQLを最適化しますか? 編集:コメントに記載されている理由により、ANDをからに変更しましたOR

9
DEFAULT句にCURRENT_TIMESTAMPを含むTIMESTAMP列が1つしかないのはなぜですか。
DEFAULT句またはON UPDATE句にCURRENT_TIMESTAMPを含むTIMESTAMP列が1つしかないのはなぜですか。 CREATE TABLE `foo` ( `ProductID` INT(10) UNSIGNED NOT NULL, `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=INNODB; 発生するエラー: エラーコード:1293 不正なテーブル定義。DEFAULT句またはON UPDATE句にCURRENT_TIMESTAMPが指定されたTIMESTAMP列は1つしか存在できません

5
2つの可能なテーブルの1つにMySQL外部キーを実行することは可能ですか?
これが私の問題です。3つのテーブルがあります。地域、国、州。国は地域の内部にある場合があり、州は地域の内部にある場合があります。地域は食物連鎖のトップです。 ここで、2つの列を持つPopular_Areasテーブルを追加します。region_idおよびpopular_place_id。popular_place_idを国または州の外部キーにすることは可能ですか?おそらく、idが国または州のどちらを表すのかを判別するために、popular_place_type列を追加する必要があります。

14
JOINクエリと複数クエリ
JOINクエリは、いくつかのクエリよりも高速ですか?(メインクエリを実行してから、メインクエリの結果に基づいて他の多くのSELECTを実行します) それらを結合するとアプリケーションの設計が非常に複雑になるので、私は尋ねています より速い場合、だれがどれだけ大まかに概算できますか?1.5倍の場合は気にしませんが、10倍の場合はそうだと思います。

11
単一のWebページで複数のMySQLデータベースにどのように接続しますか?
いくつかのデータベースに情報が分散しているため、PHPを使用してすべての情報を1つのWebページに配置したいと考えています。単一のPHP Webページで複数のデータベースに接続するにはどうすればよいかと思っていました。 私は以下を使用して単一のデータベースに接続する方法を知っています: $dbh = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL"); ただし、複数の「mysql_connect」コマンドを使用して他のデータベースを開くことはできますか?複数のデータベースが接続されている場合、PHPはどのデータベースから情報を取得するかをどのようにして知ることができますか?
179 php  mysql 


13
ベストプラクティス多言語ウェブサイト
私はこの質問にかなりの数か月間苦労してきましたが、私は以前にすべての可能なオプションを検討する必要があった状況にありませんでした。今は、可能性を知り、自分の個人的な好みを作成して、今後のプロジェクトで使用する時がきたと感じています。 最初に私が探している状況をスケッチしましょう これからずっと使っているコンテンツ管理システムをアップグレード/再開発しようとしています。しかし、私は多言語がこのシステムの大きな改善だと感じています。以前はフレームワークを使用していませんでしたが、次のプロジェクトではLaraval4を使用します。Laravelは、PHPをコーディングするためのよりクリーンな方法の最良の選択のようです。Sidenote: Laraval4 should be no factor in your answer。プラットフォームやフレームワークに依存しない一般的な翻訳方法を探しています。 翻訳すべきもの 私が探しているシステムは、できるだけユーザーフレンドリーである必要があるため、翻訳の管理方法はCMS内にある必要があります。翻訳ファイルやhtml / php解析済みテンプレートを変更するためにFTP接続を開始する必要はないはずです。 さらに、おそらく追加のテーブルを作成する必要なしに、複数のデータベーステーブルを変換する最も簡単な方法を探しています。 何を思いついたの 私はすでに自分で物事を探して、読んで、試しています。私にはいくつかのオプションがあります。しかし、私はまだ自分が本当に求めているもののベストプラクティスの方法に到達したようには感じていません。現在、これは私が思いついたものですが、この方法には副作用もあります。 PHP解析済みテンプレート:テンプレートシステムはPHPで解析する必要があります。このようにして、テンプレートを開いて変更することなく、翻訳されたパラメーターをHTMLに挿入できます。その上、PHPで解析されたテンプレートを使用すると、言語ごとにサブフォルダーを作成する代わりに、Webサイト全体に対して1つのテンプレートを使用できます(以前に使用していた)。このターゲットに到達する方法は、Smarty、TemplatePower、Laravel's Blade、またはその他のテンプレートパーサーのいずれかです。私が言ったように、これは書かれた解決策に依存しないはずです。 データベース駆動:おそらく私はこれについて再度言及する必要はありません。しかし、ソリューションはデータベース主導である必要があります。CMSはオブジェクト指向およびMVCを目的としているため、文字列の論理データ構造について考える必要があります。私のテンプレートは構造化されているので:templates / Controller / View.phpこの構造はおそらく最も理にかなっています:Controller.View.parameter。データベーステーブルには、これらのフィールドとvalueフィールドが含まれます。テンプレート内では、次のような並べ替えメソッドを使用できecho __('Controller.View.welcome', array('name', 'Joshua'))、パラメータにはが含まれますWelcome, :name。したがって、結果は次のとおりWelcome, Joshuaです。:nameなどのパラメーターはエディターが理解しやすいので、これはこれを行うための良い方法のようです。 低データベース負荷:もちろん、これらの文字列が移動中にロードされている場合、上記のシステムはデータベース負荷の負荷を引き起こします。したがって、管理環境で編集/保存されるとすぐに言語ファイルを再レンダリングするキャッシュシステムが必要になります。ファイルが生成されるため、適切なファイルシステムレイアウトも必要です。私たちは一緒に行くことができますねlanguages/en_EN/Controller/View.phpかの.ini、どんなスーツあなたが最高。おそらく、.iniは、最終的にはさらに速く解析されます。これにはのデータが含まれているはずformat parameter=value; です。レンダリングされる各ビューには、独自の言語ファイルが存在する場合はそれを含めることができるため、これがこれを行うための最良の方法だと思います。次に、言語パラメーターをグローバルスコープではなく特定のビューにロードして、パラメーターが互いに上書きされないようにする必要があります。 データベーステーブルの翻訳:これは実際、私が最も心配していることです。ニュース/ページ/その他の翻訳を作成する方法を探しています。できるだけ早く。モジュールごとに2つのテーブル(たとえばNewsおよびNews_translations)を使用することもできますが、優れたシステムを実現するために多くの作業を行うように感じます。私はに基づいていて思いついたことのひとつdata versioning、私が書いたシステムは:1人のデータベーステーブル名がありTranslations、このテーブルはのユニークな組み合わせを持っているlanguage、tablenameとprimarykey。たとえば、en_En / News / 1(ID = 1の英語版のニュースアイテムを参照)。ただし、この方法には2つの大きな欠点があります。まず、このテーブルはデータベースに大量のデータがあるとかなり長くなる傾向があります。次に、この設定を使用してテーブルを検索するのは大変です。たとえば、アイテムのSEOスラッグを検索することは全文検索であり、かなり馬鹿げています。しかし、その一方で、すべてのテーブルで翻訳可能なコンテンツを非常に高速に作成する簡単な方法ですが、このプロが短所を強調しすぎているとは思いません。 フロントエンドの作業:また、フロントエンドについても検討する必要があります。もちろん、利用可能な言語をデータベースに保存し、必要な言語を(非)アクティブにします。このように、スクリプトはドロップダウンを生成して言語を選択でき、バックエンドはCMSを使用してどの翻訳を実行できるかを自動的に決定できます。ビューの言語ファイルを取得するとき、またはWebサイトのコンテンツアイテムの適切な翻訳を取得するときに、選択した言語(en_ENなど)が使用されます。 それで、彼らはそこにいます。これまでの私の考え。日付などのローカリゼーションオプションはまだ含まれていませんが、私のサーバーはPHP5.3.2 +をサポートしているため、http://devzone.zend.com/1500/internationalization-inで説明されているように、intl拡張機能を使用することをお勧めします。-php-53 / -しかし、これはその後の開発スタジアムで使用されます。現時点では、主な問題は、Webサイトのコンテンツの翻訳のベストプラクティスをどのように行うかです。 ここで説明したすべてのことに加えて、まだ決めていないことがまだあります。簡単な質問のように見えますが、実際には頭痛の種となっています。 URL変換?これをするべきかどうか?そしてどのように? つまり、このURLがある場合http://www.domain.com/about-us、英語がデフォルトの言語です。http://www.domain.com/over-ons言語としてオランダ語を選択した場合、このURLを翻訳する必要がありますか?または、簡単な道を進み、に表示されているページのコンテンツを変更するだけ/aboutです。最後のものは、同じURLの複数のバージョンを生成するため、有効なオプションではないように思われます。このコンテンツのインデックス作成は、正しく失敗します。 別のオプションはhttp://www.domain.com/nl/about-us代わりに使用しています。これにより、少なくともコンテンツごとに一意のURLが生成されます。また、別の言語に移動するのも簡単です。たとえばhttp://www.domain.com/en/about-us、提供されるURLは、Googleと人間の両方の訪問者にとって理解しやすくなります。このオプションを使用して、デフォルトの言語をどのように処理しますか?デフォルトの言語で、デフォルトで選択されている言語を削除する必要がありますか?リダイレクトようhttp://www.domain.com/en/about-usにhttp://www.domain.com/about-usCMSが一つだけの言語用のセットアップのときURLで、この言語識別を持ってする必要がないので、私の目には...これは、最適なソリューションです。 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.