元スレMySQL 総合 Part20
mysql覧 / PC版 /みんなの評価 :
101 = :
プロレスの技か何かですか?
102 = :
プリンセススピニングトゥホールド
104 = :
問題ない
105 = :
別に間違ってはいない。
ただ、そのDBを複数アプリから触るシステムだったりする場合、
DBでデフォ値設定できるならしておいた方が、
今後のシステム保守でのバグ発生率がちょびっと下がるというのはあるかもね。
106 = :
どんなバグが発生するの?
そのバグはdefault値があると本当に発生しないバグなの?
107 = :
バグというか、他のプログラムが別の値をデフォルト値として入れようとしていたらどうする?
プログラム毎にデフォルト値が違うのってややこしくならないか?
108 = :
システム新規作成時:
全アプリで、デフォルト値設定が同じになっているか。
システム保守において:
業務的にデフォルト値が変わった時、全アプリ漏れなく設定値修正
こういうのを、手間ゼロで間違い無く出来るんだったらいいけど、そうはいかない。
だからDBという一箇所だけで定められるんだったら、その方が望ましいんよ。
110 = :
ご返信ありがとうございます。
複数アプリから使われるということはありえないDBですので、アプリ側でデフォルト値を設定しても問題無いのですね。
というか、複数アプリからDBが使われるというケース自体全く想定していなかったので勉強になりました。
111 = :
DBを複数のプログラムが使うって当たり前の事じゃないのか?
「複数アプリから使われるということはありえない」という方が珍しいとさえ思うけど
112 = :
たぶんプログラマとしてのレベルが違いすぎるんだと思いまする。
自分が作ろうとしてるのはSNSとかの単純なWEBサイトです。
WEBアプリという言い方が悪かったかもしれません。
113 = :
プログラムの塊として捉えてるからおかしい
画面単位で考えな
SNSっていったって登録、更新、削除といろいろあるでしょ
ようするに複数画面から使われてる
114 = :
複数画面が使われても統一したDBクラスでアクセスするなら
そのクラスでデフォルト値を設定すれば済むこと。
個人的にはDBのデフォルト値はあんま意味無いと思うけどな。
デフォルト値等の設定・管理をDB側、プログラム側で分かれるのは不便だし、
結局プログラムからDBの値を読み出すときにDBのデフォルト値の設定を信用せず
値のチェックや正規化を行うようにするからな。
115 = :
SNSは単純じゃないですw
116 = :
トランザクション処理を教えてください
テーブルAとBをロック
テーブルAの更新部分を取得
テーブルAを更新
lastInsertIdを調べる
問題なし
テーブルBの更新部分を取得
lastInsertIdを調べる
*問題なし
テーブルAとBをアンロック
もし*のところで問題があったら
Aを更新前に戻して終了といった感じでいいでしょうか?
更新前に戻す処理に問題が発生した場合はどうするんだって感じですが
ロールバック失敗みたいなことはおこるのでしょうか?
ちなみにエンジンはMyISAMです
117 = :
すみません抜けてました
>テーブルBの更新部分を取得
この後にテーブルBの更新です
118 = :
そもそも MyIsamはトランザクション使えないけど。
トランザクション使いたいんならInnoDBですよ?
119 = :
>>118
トランザクションがエミュレートできると書いてたので
やりようによってはできるのかなぁと
120 = :
MyISAMにロールバック機能はないから
Aを更新前に戻すにはプログラム側で更新前の値を覚えておいて
その値にするようなUPDATE文を実行するわけだけど。
かえってめんどくさくね
121 = :
1桁の0-9を入れる型として正しいのはなんでしょうか?
122 = :
PRIMARYでもFOREIGNでもUNIQUEでもない
ただのKEYという制約がついてるんですが
これはどういうものなんでしょう?
SHOW CREATE TABLEをしたら出てきたのですが
なんでこんなのがついてるのかは自分でも分かりません
KEYだけだと検索ワードが多すぎて調べるのがきついです
123 = :
>>122
制約じゃなくて単なるインデックス、それは。
125 = :
>>122だけだと情報がたりなさそうなので中身はこんな感じです
CREATE TABLE `item` (
`item_id` int(11) NOT NULL AUTO_INCREMENT,
`item_name` varchar(100) NOT NULL,
PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `item_image` (
`image_id` int(11) NOT NULL AUTO_INCREMENT,
`item_id` int(11) NOT NULL,
`image_path` varchar(255) NOT NULL,
PRIMARY KEY (`image_id`);
UNIQUE KEY `image_path` (`image_path`),
KEY `item_id` (`item_id`),
CONSTRAINT `item_image_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `item` (`item_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
126 = :
すみませんリロードしてませんでした
インデックスだったんですね
どうもありがとうございます
DDLは何のことか分からないので調べてきます
127 = :
>>121
正解などない。好きにしろ。
128 = :
テーブルに指定する
DEFAULT CHARACTER SET utf8
と
DEFAULT CHARSET=utf8
って何が違うんですか?
129 = :
質問です。
create table tblA(
clm1,
clm2,
clm3
)
create view vB AS
SELECT
clmElse AS clm3,
clmElse AS clm2,
clmElse AS clm1
FROM tblElse
この定義の時、カラム名を指定しなくて済むお手軽SQL文であるところの INSERT INTO tblA SELECT * FROM tblB を、
登録されるレコードの登録元と登録先のカラム名が一致するようにしたい。
tblAはしょっちゅう定義が変更されるので、カラム名を指定するINSERTを書くのは避けたい。
tblAに変更がある毎にビューを再定義するのは、保守担当者が再定義することを忘れるリスクが高いので最後の手段にしたい。
何かいい方法はありますか?
131 = :
tblAのメンテ担当者とvBの担当者とアプリの担当者はそんなに仲が悪いのか?
飲み会企画するとか、あるいはまず休憩所で声をかけてみてどんなことに興味が
あるか聞き出してみるとか?
133 = :
だん だん Lサイズ
136 = :
↑この流れ
2chあるある
137 = :
↑この流れ
2chなしなし
139 = :
↑この流れ
2chもみもみ
141 = :
>操作しない限り
どういうこと?
142 = :
すみません、phpmyadmin使ってます
主キーにauto_incrementを使ってるのですが
それを1~ではなく0~にしたいと思ってまして
143 = :
>>128
MySQL :: MySQL 5.5 Reference Manual :: 9.1.3 Specifying Character Sets and Collations
http://dev.mysql.com/doc/refman/5.5/en/charset-syntax.html
CHARSET can be used as a synonym for CHARACTER SET.
144 = :
>>142
無理
indexってそのまんまindexだからindex以下にはできない
145 = :
>>142
auto_increment_offset などを見てると 0 は設定できない気がする...
0 からスタートさせるのではないのだが、
set sql_mode="NO_AUTO_VALUE_ON_ZERO" してから
insert すれば 0 を入れることも可能。
# トラブルの原因になりそうだから嫌だけど
http://dev.mysql.com/doc/refman/5.1/ja/server-sql-mode.html#id378544
146 = :
>>144>>145
なるほどー、やっぱり無理はしないほうがいいみたいですね
親切にどうもありがとうございます
147 = :
文字化けとかじゃなくて保存した全角文字を表示すると
どーしても全角の部分が???になっちゃうんですが
考えられる原因とかあるでしょうか?
自分で思い当たるのは大体やったんですが・・・。
148 = :
表示ってのは
MySQLコンソールとphpで表示する場合です
phpmyadminで見るとちゃんと全角で「日本人」となるのですが
他だと???に
ちなみにレコードの挿入はphpmyadminで行いました
150 = :
>自分で思い当たるのは大体やったんですが
何やったのかくらい書けよクズが
みんなの評価 :
類似してるかもしれないスレッド
- MySQL 総合 Part22 (1001) - [94%] - 2012/7/10 16:45
- MySQL 総合 Part21 (1001) - [94%] - 2011/12/25 22:16
- MySQL 総合 Part25 (947) - [94%] - 2017/6/18 6:30
- MySQL 総合 Part24 (1010) - [94%] - 2015/2/14 4:46
- MySQL 総合 Part23 (992) - [94%] - 2013/8/11 17:00
- MySQL 総合 Part26 (860) - [94%] - 2023/2/2 9:30
- MySQL 総合 Part13 (996) - [89%] - 2008/6/10 21:02 ☆
- MySQL 総合 Part14 (1001) - [89%] - 2008/11/23 10:17 ☆
- MySQL 総合 Part15 (1001) - [89%] - 2009/4/20 12:15 ☆
- MySQL 総合 Part17 (1001) - [89%] - 2010/6/10 20:47 ○
- MySQL 総合 Part18 (986) - [89%] - 2011/1/17 15:46
- MySQL 総合 Part19 (982) - [89%] - 2011/6/9 2:33
- MySQL 総合 Part12 (1001) - [89%] - 2008/1/30 17:34 ○
- MySQL vs PostgreSQL Part2 (941) - [36%] - 2022/5/26 1:30 ○
トップメニューへ / →のくす牧場書庫について