忍者ブログ

初心者IT本部

いったい僕らの21世紀はどこに行くんだろう、で、ITってなに?

<< | 2024/11 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | >>

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。






mysqlでauto_incrementの解除

mysqlでauto_incrementを解除するには下記のようにする模様。
auto_incrementを外すというより、auto_incrementはcolumnの付帯的な属性ではないので、
columnそのものを変更するイメージ。だからchange。

>ALTER TABLE `dtb_send_customer` CHANGE `send_id` `send_id` INT( 11 ) NOT NULL

参考:
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=DESC&topic_id=530&forum=9
PR





mysqlimport

csvでmysqlにデータを入れる。

mysqlimport -u ユーザー名 -p --fields-terminated-by="," -d データベース名 -L CSVファイル名.csv -h
 DBサーバアドレス

-p・・・パスワード指定
-fields-terminated=","・・・デリミタ指定
-d・・・import前にDBの中身をDELETE
-L・・・CSVファイルがローカル側にある場合
CSVファイル名・・・相対の場合は拡張子を除く部分がテーブル名







phpmyadminからmysqlでtext型にuniqueを設定

さくらインターネットではmysqlの管理にphpmyadminが用意されているが、phpmyadminからtext型のcolomunを主キーにする、あるいはuniqueに指定することはできないみたい。

uniqueに指定しようとした場合下記のようなエラーが。
> BLOB column 'site_introduce' used in key specification without a key length
 
text型は長さを設定しないとキーとかuniqueに指定できないらしい。
しかしphpmyadminからcolumnに長さを設定してもだめみたい。ターミナルからアクセスして下記のコマンドに
より指定できた。

> mysql> alter table direc_site_info add unique (site_url(100));

show create tab le構文で確認するとuniqueが付いている。

mysql> show create table direc_site_info
    -> ;
+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table           | Create Table                                                                                                                                                                                                               |
+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| direc_site_info | CREATE TABLE `direc_site_info` (
  `site_id` int(11) NOT NULL auto_increment,
  `site_name` text NOT NULL,
  `site_url` text NOT NULL,
  PRIMARY KEY  (`site_id`),
  UNIQUE KEY `site_url` (`site_url`(100))
) TYPE=MyISAM |
+-----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

しかしphpmyadmin上は特に変化ないようだ。




cygwinからperl5.8.8でperlcc

Cygwin上のperl5.8.8のperlccを使ってperlスクリプトを
exe化しようと思う。

普通に実行すると下記のようにエラーが。


$ perlcc work/make_hash_list2.pl
Note (probably harmless): No library found for -lgdbm_compat
pccf0gsH.c:10477: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10484: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10505: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10637: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10638: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10640: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10641: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10647: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10666: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c:10667: warning: this decimal constant is unsigned only in ISO C90
pccf0gsH.c: In function `perl_init_aaab':
pccf0gsH.c:25097: warning: this decimal constant is unsigned only in ISO C90
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: warning: au
to-importing has been activated without --enable-auto-import specified on the co
mmand line.
This should work unless it involves constant data structures referencing symbols
 from auto-imported DLLs.Info: resolving _PL_ppaddr by linking to __imp__PL_ppad
dr (auto-import)
Info: resolving _PL_memory_wrap by linking to __imp__PL_memory_wrap (auto-import
)

 

-Bオプションをつけると、コンパイルできた。
$ perlcc -B -o work/kkk.exe test.pl
⇒cygwinでは実行できるが、windowsからは実行できなかった。
この実行形式はcygwinの上に載ったものだからだ。

http://www.sixnine.net/cygwin/translation/devel/mno-cygwin-howto.html#s1-2
の情報を元に、perlccでソースファイルを作成し、gccで--mno-cygwinオプションを
つけてコンパイルすることを試したが、山ほどworningがでるのでやめた。


work/make_hash_list2.c:342: error: parse error before ')' token
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')
work/make_hash_list2.c:342: warning: excess elements in scalar initializer
work/make_hash_list2.c:342: warning: (near initialization for `op_list[58]')

perlcc自体信頼性は高くない模様。Cygwin環境で実現したかったが一旦あきらめることにする。




cygwinからperl5.8.8でCPAN

 cygwinにperlをインストールする際デフォルトでは5.8.8が入る。
5.8.8でCPANを使おうとすると、「select your continents」の
ところで、選択肢のリストが表示されない。CPAN設定の手順は
多のサイトで解説されているが、それらの例では問題なくリスト
も表示されている模様。(Cygwinだからか。プロキシなどの影響か)
何を入力しても、空欄でEnterを押しても先に進めず設定は成功しない。

 「select your continents」の前に、手動でcpan siteのURLを
選択する箇所が一瞬入力待ちになるが、なぜか自動的に「select your continents」
に以降しているのを発見。cpan site入力の際に即効Enterを押し、入力モードに。
cpan siteを入力すると、一応設定を終了できるが、installをしようとすると、
CPAN.pmがエラーを出し完了できない。

 インストールの際に5.10を選択すると、CPANの設定・使用とも
問題なくできたので(私はperlccを使いたかったので5.8.8でCPAN環境
が必要だった。)、CPANを入れ替えてみることにした、。

 
 CPANサイトhttp://ftp.nara.wide.ad.jp/から"CPAN-1.9205.tar.gz"をダウンロード。
 解凍後、lib以下を、Cygwinのフォルダ(私の場合はC:\cygwin\lib\perl5\5.8)の
ものと置き換える。"perl -MCPAN -e shell"で実行してみると、設定が始まる。
設定を見ているとperl5.10のものと同じようだ。
 設定でデフォルトから変更した箇所はftp_proxy,http_proxyと、urllistで、httpの
ホストを追加したのみ。(これまでの悪戦苦闘で、ftpでのダウンロードは私の環境では
うまくいかなそうだった。今回も「select your continents」はあるが、ちゃんとリスト
は表示された。その後、ホストを選択する箇所があるが、ftpのサイトばかりなので、
http://www.perl.com/CPAN/SITES.htmlから近場のfttpホストを選択し追加した。)

 "install Digest::SHA1"を実行するとダウンロード・インストールが成功。当該モジュール
を使用するスクリプトも動いた。

以下作業ログ


cpan[5]> install Digest::SHA1
CPAN: Storable loaded ok (v2.15)
Fetching with LWP:
  ftp://ftp.jaist.ac.jp/pub/CPAN/authors/01mailrc.txt.gz
Going to read /cygdrive/c/home/go-yamamoto/.cpan/sources/authors/01mailrc.txt.gz

 

............................................................................DONE

Fetching with LWP:
  ftp://ftp.jaist.ac.jp/pub/CPAN/modules/02packages.details.txt.gz
Going to read /cygdrive/c/home/go-yamamoto/.cpan/sources/modules/02packages.deta
ils.txt.gz
  Database was generated on Sun, 08 Jun 2008 22:06:51 GMT
............................................................................DONE

Fetching with LWP:
  ftp://ftp.jaist.ac.jp/pub/CPAN/modules/03modlist.data.gz
Going to read /cygdrive/c/home/go-yamamoto/.cpan/sources/modules/03modlist.data.
gz
............................................................................DONE

Going to write /cygdrive/c/home/go-yamamoto/.cpan/Metadata
Running install for module 'Digest::SHA1'
Running make for G/GA/GAAS/Digest-SHA1-2.11.tar.gz
Fetching with LWP:
  ftp://ftp.jaist.ac.jp/pub/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-2.11.tar.gz
CPAN: Digest::SHA loaded ok (v5.45)
Fetching with LWP:
  ftp://ftp.jaist.ac.jp/pub/CPAN/authors/id/G/GA/GAAS/CHECKSUMS
Checksum for /cygdrive/c/home/go-yamamoto/.cpan/sources/authors/id/G/GA/GAAS/Dig
est-SHA1-2.11.tar.gz ok
Scanning cache /cygdrive/c/home/go-yamamoto/.cpan/build for sizes
DONE
CPAN: Archive::Tar loaded ok (v1.32)
Digest-SHA1-2.11/
Digest-SHA1-2.11/README
Digest-SHA1-2.11/t/
Digest-SHA1-2.11/t/bits.t
Digest-SHA1-2.11/t/badfile.t
Digest-SHA1-2.11/t/sha1.t
Digest-SHA1-2.11/MANIFEST
Digest-SHA1-2.11/fip180-1.html
Digest-SHA1-2.11/SHA1.pm
Digest-SHA1-2.11/typemap
Digest-SHA1-2.11/fip180-1.gif
Digest-SHA1-2.11/Changes
Digest-SHA1-2.11/Makefile.PL
Digest-SHA1-2.11/SHA1.xs
CPAN: File::Temp loaded ok (v0.16)

  CPAN.pm: Going to build G/GA/GAAS/Digest-SHA1-2.11.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Digest::SHA1
cp SHA1.pm blib/lib/Digest/SHA1.pm
/usr/bin/perl.exe /usr/lib/perl5/5.8/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.
8/ExtUtils/typemap -typemap typemap  SHA1.xs > SHA1.xsc && mv SHA1.xsc SHA1.c
gcc -c   -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -Wdeclaration-after-s
tatement -DUSEIMPORTLIB -O3   -DVERSION=\"2.11\" -DXS_VERSION=\"2.11\"  "-I/usr/
lib/perl5/5.8/cygwin/CORE"   SHA1.c
Running Mkbootstrap for Digest::SHA1 ()
chmod 644 SHA1.bs
rm -f blib/arch/auto/Digest/SHA1/SHA1.dll
ld2  -s -L/usr/local/lib SHA1.o  -o blib/arch/auto/Digest/SHA1/SHA1.dll \
          /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a          \

gcc -shared -o  SHA1.dll -Wl,--out-implib=libSHA1.dll.a -Wl,--export-all-symbols
 -Wl,--enable-auto-import -Wl,--stack,8388608 -Wl,--enable-auto-image-base \
-s -L/usr/local/lib SHA1.o  /usr/lib/perl5/5.8/cygwin/CORE/libperl.dll.a
Creating library file: libSHA1.dll.a
mv SHA1.dll libSHA1.dll.a blib/arch/auto/Digest/SHA1/
chmod 755 blib/arch/auto/Digest/SHA1/SHA1.dll
cp SHA1.bs blib/arch/auto/Digest/SHA1/SHA1.bs
chmod 644 blib/arch/auto/Digest/SHA1/SHA1.bs
  GAAS/Digest-SHA1-2.11.tar.gz
  make -- OK
Running make test
/usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'b
lib/arch')" t/*.t
t/badfile....ok
t/bits.......ok
t/sha1.......ok
All tests successful.
Files=3, Tests=17,  1 wallclock secs ( 0.46 cusr +  0.40 csys =  0.86 CPU)
  GAAS/Digest-SHA1-2.11.tar.gz
  make test -- OK
Running make install
Prepending /cygdrive/c/home/go-yamamoto/.cpan/build/Digest-SHA1-2.11-ZLJszl/blib
/arch /cygdrive/c/home/go-yamamoto/.cpan/build/Digest-SHA1-2.11-ZLJszl/blib/lib
to PERL5LIB for 'install'
Installing /usr/lib/perl5/site_perl/5.8/cygwin/auto/Digest/SHA1/libSHA1.dll.a
Installing /usr/lib/perl5/site_perl/5.8/cygwin/auto/Digest/SHA1/SHA1.bs
Installing /usr/lib/perl5/site_perl/5.8/cygwin/auto/Digest/SHA1/SHA1.dll
Files found in blib/arch: installing files in blib/lib into architecture depende
nt library tree
Installing /usr/lib/perl5/site_perl/5.8/cygwin/Digest/SHA1.pm
Writing /usr/lib/perl5/site_perl/5.8/cygwin/auto/Digest/SHA1/.packlist
Appending installation info to /usr/lib/perl5/5.8/cygwin/perllocal.pod
  GAAS/Digest-SHA1-2.11.tar.gz
  make install  -- OK

 


 






AdminControlMenu: AdminMenu | NewEntry | EditComment | EditTrackback

忍者ブログ [PR]