DDLのインポート方法

このQ&Aのポイント
  • musqlコマンドを使用してテキストファイルのDDLをインポートする方法がわかりません
  • mysqlimportコマンドを使ってもDDLのインポートがうまく行かない問題が発生しています
  • wagokoro_db_goods.sqlというテキストファイルのDDLをmysqlimportコマンドでインポートしている際にエラーが出ています
回答を見る
  • ベストアンサー

DDLのインポート方法

musqlコマンドを使って下記テキストファイルのddlをインポートしたいのですが、下記コマンドを使ってもうまく行きません。 やり方がわからなく四苦八苦しています。お分かりの方がいらっしゃいましたら、ご教示をお願いいたします。 mysqlimport wgu_ec wagokoro_db_goods.sql mysqlimport: Error: Table 'wgu_ec.wagokoro_db_goods' doesn't exist, when using table: wagokoro_db_goods textファイル(ファイル名:wagokoro_db_goods.sql)の内容は下記の通りです。 /*--------------新着商品詳細---------------------*/ use wgu_ec; drop table if exists `CMS_NEWITEM_DETAIL_TB`; CREATE TABLE `CMS_NEWITEM_DETAIL_TB` ( `new_item_detail_id` int(8) unsigned NOT NULL auto_increment COMMENT '新着商品明細id' , `new_item_id` int(4) NOT NULL DEFAULT '0' COMMENT '新着商品ID' , `goods_id` int(8) NOT NULL DEFAULT '0' COMMENT '商品id' , `color_id` int(2) NOT NULL DEFAULT '0' COMMENT '色id' , `del_f` tinyint(1) NOT NULL DEFAULT '0' COMMENT '削除フラグ 1:削除' , `insert_date` datetime 0000-00-00 00:00:00 NOT NULL COMMENT '登録日時' , `insert_app_no` varchar(32) NOT NULL COMMENT '登録アプリ名' , `update_date` datetime 0000-00-00 00:00:00 NOT NULL COMMENT '更新日時' , `update_app_no` varchar(32) NOT NULL COMMENT '更新アプリ名' , PRIMARY KEY ( `new_item_detail_id` ) ) type Innodb ;

  • MySQL
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

mysqlimportって、データをテーブルに流し込むツールみたいですので、DDLの実行は本来の使い方でないような。 普通にmysqlを使えば良いのでは。

参考URL:
http://www.google.com/search?hl=ja&q=mysqlimport,http://dev.mysql.com/doc/refman/4.1/ja/batch-commands.html
haven3
質問者

お礼

ありがとうございます。 参考URLを見て、わかりました。 助かりました!!

関連するQ&A

  • 投稿サイトをサクッと作りたい

    http://webeg.info/php-course/step3-030/のログイン画面をログインして、投稿サイトを作りたいのですが、 ログイン情報はどこで定義してなんというものになっているのでしょうか? 空にして もログインできません。 投稿部分だけが欲しいのですが、ログインしないと作れないようです。 もちろんもっと簡単に投稿サイトが作れる情報があればそれでも構いません。 CREATE TABLE `users` ( `user_id` int(11) NOT NULL COMMENT '通しID', `user_loginid` varchar(20) NOT NULL COMMENT 'ログインID', `user_password` varchar(100) NOT NULL COMMENT 'パスワード', `user_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新日時', `user_created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '作成日時' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理画面ユーザー'; ALTER TABLE `users` ADD PRIMARY KEY (`user_id`); ALTER TABLE `users` MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '通しID', AUTO_INCREMENT=1; アカウントの追加 を実行しただけなのでPW、IDは空と考えてよいでしょうか? パスワードの所には長さ100とコメントパスワードとしか記載がないのですがdbではどこにpwを入れるのですか? この場合は空と考えるべきでしょうか? 投稿サイトをサクッと作りたいだけなのですが、もっと簡単に作る方法はないのでしょうか?

    • ベストアンサー
    • MySQL
  • 存在しないレコードの抽出方法について

    table_aに存在するidのうち、table_bには存在しないidを抽出するSLQ文を作成したいと思ったのですが、抽出方法が分からなかったので、アドバイスいただける方がいらっしゃいましたら、ご教示いただけたらと思います。 下記の例では、table_aには、101~106までのidがあるのに対し、table_bには101,102,104のidがあるため、103,105,106を抽出したいと思います。 CREATE TABLE IF NOT EXISTS `table_a` ( `auto_id` int(11) NOT NULL, `id` varchar(7) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `table_a` (`auto_id`, `id`) VALUES (1, '101'), (2, '102'), (3, '103'), (4, '104'), (5, '105'), (6, '106'); CREATE TABLE IF NOT EXISTS `table_b` ( `auto_id` int(11) NOT NULL, `id` varchar(7) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `table_b` (`auto_id`, `id`) VALUES (1, '101'), (2, '102'), (3, '102'), (4, '102'), (5, '104'), (6, '104'); 以上、よろしくお願いします。

    • ベストアンサー
    • MySQL
  • varchar型を主キーに…

    現在サーブレット/JSPを利用してDBにユーザアカウントを登録、削除、更新、一覧をできるようするシステムを作成しています。 テーブルを create table loginuser ( userId char(16) not null default '', passwd char(16) not null default '', name varchar(50) not null default '', accessFlg int(1) not null default '0', primary key(userId)); で作成しました。 IDが数字の時はDBに登録ができるのですがIDに文字を入力するとDBに登録されません。 主キーをvarchar型で使用するのは不可能なのでしょうか? ご返答をよろしくお願いします。

  • FOREIGN KEYの追加について。

    FOREIGN KEYの追加について。 MySQL5.1.37 CREATE TABLE `goods` ( `id` int NOT NULL AUTO_INCREMENT, `num` int NOT NULL DEFAULT '1', PRIMARY KEY (`id`), index (`num`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `sales` ( `id` int NOT NULL AUTO_INCREMENT, `num` int NOT NULL DEFAULT '1', PRIMARY KEY (`id`), index (`num`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 上記のようなテーブルを作り、salesテーブルにCSVファイルからデータをインポートしたのち、FOREIGN KEYを子テーブルに追加したいのですが、下記のようなエラーになります。 ALTER TABLE `sales` ADD FOREIGN KEY ( `num` ) REFERENCES `test`.`goods` ( `num` ) ON UPDATE CASCADE ; MySQLのメッセージ: ドキュメント #1452 - Cannot add or update a child row: a foreign key constraint fails (`test`.`#sql-561_cf`, CONSTRAINT `#sql-561_cf_ibfk_1` FOREIGN KEY (`num`) REFERENCES `goods` (`num`) ON UPDATE CASCADE) データをインポートしたのちにFOREIGN KEYを追加するにはどのようにしたらいいのでしょうか?

  • mysqlのインデックスについて質問です。

    mysqlのインデックスについて質問です。 http://archiva.jp/web/server-side/sql_02.html に、 『mysqlでは1つのクエリ実行で、1つのテーブルにつき1つのインデックスしか使用できない』 とあります。 よく以下のようなテーブル定義を見かけますが、 CREATE TABLE IF NOT EXISTS `data` ( `id` int(10) NOT NULL default '0', `user_id` int(10) NOT NULL default '0', `file_id` int(10) NOT NULL default '0', `name` text collate utf8_unicode_ci NOT NULL default '', PRIMARY KEY (`id`), KEY `user_id` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; idとuser_idを条件にするクエリであれば、上記制約を満たすため、 KEY `id_user_id_idx` (`id`,`user_id`) の複合クエリを定義すれば良いのでしょうか? また、idとuser_idとfile_idを条件にするクエリも考慮に入れた場合、 テーブル定義は以下のようにするのでしょうか? CREATE TABLE IF NOT EXISTS `data` ( `id` int(10) NOT NULL default '0', `user_id` int(10) NOT NULL default '0', `file_id` int(10) NOT NULL default '0', `name` text collate utf8_unicode_ci NOT NULL default '', PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `id_user_id_idx` (`id`,`user_id`), KEY `id_user_id_file_id_idx` (`id`,`user_id`,`file_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 最後に、create table 時のインデックスの指定は、 INDEX `user_id` (`user_id`), のようにもできますが、INDEXとKEYの違いは何かあるのでしょうか。

    • ベストアンサー
    • MySQL
  • MysqLのインポートについて

    皆さんのお力を貸して頂きたく質問させて頂きます。 現在Mysqlを初導入しようとしております。 そこで【heteml】をレンタルしFTPソフトでアップロード致しまして データベースを管理画面より作成しました。 そして以前他のサーバーで使用していたテーブルデータから エクスポートしてきたファイル【拡張子は.sqlのファイル】を インポートしようと試みたのですが下記のようなエラーが 表示されてしまいます。 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 実行した SQL: -- phpMyAdmin SQL Dump -- version 2.8.2.4 -- http://www.phpmyadmin.net -- -- Host: localhost:3306 -- Generation Time: Aug 22, 2007 at 06:25 PM -- Server version: 4.1.20 -- PHP Version: 5.0.5 -- -- Database: `XXXXXXXlDB` -- -- -------------------------------------------------------- -- -- Table structure for table `lm_cdata` -- CREATE TABLE `lm_cdata` ( `cdata_id` int( 12 ) NOT NULL AUTO_INCREMENT , `user_id` int( 12 ) NOT NULL default '0', `cfield_id` int( 12 ) NOT NULL default '0', `value` longtext NOT NULL , PRIMARY KEY ( `cdata_id` ) ) ENGINE = MYISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT =348; MySQLのメッセージ: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=348' at line 7 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓 このエラーを色々と調べてみたらMysqlのバージョンがhetemlの場合 Mysqlのバージョンが4.0の為エラーが出ていると自己認識しました そこで皆様が知っているMysql4.1が入っていてお試し期間の あるレンタルサーバーはご存知でないでしょうか? またこのエラーがMysqlのバージョンのものでないとした場合 どのような原因が挙げられるでしょうか? お力をお貸し下さい。宜しくお願い致します。

  • DEFAULT が設定できないのです

    下記の文でテーブルを作ろうとしたところ、 テーブルは作れるのですが、値は何も設定できません。 デフォルト値の設定をしたいのですが、 この文は何が間違っているのでしょうか。 ご教授願います。 CREATE TABLE tbl_id ( id int NOT NULL DEFAULT 1 );

    • ベストアンサー
    • MySQL
  • create table時のdefaultにLAST_INSERT_ID()を使う

    いつもお世話になってます。 現在、postgreSQL→MySQLへの移行作業をしようとしています。 型が微妙に違う等の修正を手作業で行っているのですが、 postgreSQLの下記の型(default値)をMySQLでどう設定してよいかわからずに困っています。 ■postgreSQLのcreate文 CREATE TABLE test_tab ( id_i serial NOT NULL, parent_id integer DEFAULT currval('inquiry_tab_id_i_seq'::text) ) 下記のような感じでMySQLで出来るかなと思ったらうまく出来ませんでした。 ■試してみたMySQLのcreate文 CREATE TABLE test_tab ( id_i int primary key not null auto_increment, parent_id integer DEFAULT LAST_INSERT_ID() ) どう設定すれば、同じ設定のテーブルが作れるのか、どなたかご教授願えませんでしょうか。 よろしくお願いします。

  • create時にFOREIGN KEYでエラー

    以下のSQL文を実行すると CREATE TABLE if not exists table_A ( id int(11) not null auto_increment, company_id int(11) not null, created_at datetime NOT NULL, updated_at timestamp NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE if not exists table_B ( id int(11) not null auto_increment, from_id int(11) not null, company_id int(11) not null, created_at datetime NOT NULL, updated_at timestamp NOT NULL, PRIMARY KEY (id) FOREIGN KEY (from_id) REFERENCES table_A(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 上記を実行すると以下のエラーがでます。 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOREIGN KEY (from_id) REFERENCES table_A(id) ON DELETE CASCADE ) ENGINE=Inn' at line 8 解決方法をご存知の方はご教示頂けますと幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • 飲食店のメニュー表を作成中。MySQLの内容を出力する時に画像が×表示になります。<img src="">の使い方を教えて下さい。

    PHP+MySQLで飲食店のメニュー表を作成しています。 -------------------------------------------------- MySQLのテーブル -------------------------------------------------- CREATE TABLE item ( id int(11) NOT NULL auto_increment, menu varchar(50) NOT NULL, comment text NOT NULL, upfilename TEXT NOT NULL, imgdir TEXT NOT NULL, PRIMARY KEY (id) ); id = オートナンバー menu = メニュー名 comment = メニューのコメント upfilename = アップロードするイメージファイル名 imgdir = アップしたイメージファイルのディレクトリ -------------------------------------------------- 質問 -------------------------------------------------- 「imgdir」には、常に「/web/img/」がMySQLに登録されるようにしています。 「menu.php」で出力する時に、「upfilename」にデータが存在しない場合は、×が表示されます。 メニューの写真がない場合もあります。 こういう場合は、どのような処理を行えばよいのでしょうか? よろしくお願い致します。 -------------------------------------------------- menu.php -------------------------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> </head> <body> <?php $dbHandle = mysql_connect("mysql**.lolipop.jp","LA**","g**") or die("can not connect db\n"); $db = "LA**"; $sql = "SELECT id, menu, comment, upfilename, imgdir FROM item ORDER BY id DESC"; $rs = mysql_db_query($db,$sql); while ($item = mysql_fetch_array($rs)){ print $item['id'] . "<BR>"; print $item['menu'] . "<BR>"; print $item['comment'] . "<BR>"; print "<img src=".$item['imgdir'] . $item['upfilename'].">" . "<BR>"; print "<hr>"; } mysql_free_result($rs); mysql_close($dbHandle); ?> </body> </html>

    • ベストアンサー
    • PHP