dポイントプレゼントキャンペーン実施中!

いつも参考にさせてもらっています。

MySQL初心者ですが、よろしくお願いいたします。

varchar(50)のpos列に下記のようにデータの更新をかけます。

UPDATE t_collo SET pos="001110000"


データベースを確認すると実際には"1110000"となって、先頭の
ゼロがなくなっています。

恐らく基本的なところかと思うのですが、グーグル先生に聞いても
当方の力量不足なのか、よくわかりませんでした。

ご教示いただけますと助かります。

A 回答 (1件)

なにかのプログラムからMySQLにアクセスしていますか?


とくに先頭の0は消えませんが・・・

create table t_collo (id int ,pos varchar(50));
insert into t_collo values(1,'x'),(2,'x'),(3,'x');
update t_collo set pos='001110000' where id=1;

この回答への補足

yambejp様

早速のご回答ありがとうございます。

質問のしかたがまずかったですね。
申し訳ありませんでした。

該当のSQLはPHPから発行しております。

yambejp様のおっしゃるようなら、PHP側の問題となりますね。
PHPでは以下のように書いています。

$sql = "update t_collo set pos=\"".$arr[$i]."\" where id=".$id

$arr[$i]に配列変数として'001110000' が格納されています。

配列はダブルクォーテーションで囲ってますので、文字列として
SQLを作っています。

print $sql

で確認をしても、

update t_collo set pos='001110000' where id=1

となっていました。

てっきりMySQL側の設定かと思ったのですが、、、

補足日時:2012/01/17 18:11
    • good
    • 0
この回答へのお礼

今、MySQL Workbenchから直接下記のSQLを発行してみました。

update t_collo set pos='001110000' where id=1

すると、やっぱりpos列は1110000となっていました。

やはりMySQL側の問題なのでしょうか?
MySQLは初めてなので、どうもよくわかりません。
どうか、よろしくお願い申しあげます。

お礼日時:2012/01/17 18:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!