• 締切済み

データベースを使用して、SQLのデータを上書き

データベースを使用して、SQLのデータを上書きしたいのですが、 『m_control』テーブルの「controlid」にある同名データ('PRIMARY')があるため、エラーになります。 どうしたら上書きできるのか、対応方法を教えてください。

みんなの回答

  • teuaitou
  • ベストアンサー率32% (10/31)
回答No.1

update文のwhere句に重複データのフィールド名とデータ値を書けば、そこに上書きされますよ。ってSQLの基本なのですが、それを解ったうえでの質問だったですか。 そんな、入門書の最初の方に書かれてそうなことは訊きたい訳じゃないのであれば、もう少し情報がないと回答できないですね。

kawanobe
質問者

補足

ご返信どうもありがとうございます。 詳しく説明しますと、TwitterBrainを使いたいのですが、 ロリポップ(ライト版)の場合、1つのデータベースしか使用ができません。 『m_control』テーブルの「controlid」に同名のデータが存在しているため、『Duplicate entry 'system_datasavepath' for key 'PRIMARY'』というエラーが発生しているようです。 -- -------------------------------------------------------- -- -- テーブルの構造 `m_account` -- CREATE TABLE IF NOT EXISTS `m_account` ( `accountcd` int(11) NOT NULL default '0', `accname` varchar(128) default NULL, `twitterid` varchar(128) default NULL, `oauth_token` varchar(128) default NULL, `oauth_token_secret` varchar(128) default NULL, `tweettime` varchar(128) default NULL, `mirrortime` varchar(128) default NULL, `dayflwnum` int(11) default '0', `minflwnum` int(11) default '0', `sort` int(11) default '0', `delflg` smallint(6) default '0', PRIMARY KEY (`accountcd`), KEY `i_account_delflg` (`delflg`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -------------------------------------------------------- -- -- テーブルの構造 `m_control` -- CREATE TABLE IF NOT EXISTS `m_control` ( `controlid` varchar(64) NOT NULL default '', `ctrlgrpcd` int(11) default '0', `controlname` text, `serialno` int(11) default '0', `ctrlval` text, `ctrltype` text, `ctrlhelp` text, `bikou01` text, `bikou02` text, `bikou03` text, `bikou04` text, `bikou05` text, PRIMARY KEY (`controlid`), KEY `i_control_esp16` (`ctrlgrpcd`,`serialno`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- テーブルのデータをダンプしています `m_control` -- INSERT INTO `m_control` (`controlid`, `ctrlgrpcd`, `controlname`, `serialno`, `ctrlval`, `ctrltype`, `ctrlhelp`, `bikou01`, `bikou02`, `bikou03`, `bikou04`, `bikou05`) VALUES ('system_datasavepath', 10000001, 'データ保存パス', 10, '/home/[ハッスルサーバID]/public/www/pic/', '0:1:60:256:', '', '', '', '', '', ''), ('system_picwwwpath', 10000001, 'ファイル公開パス', 20, '/pic/', '0:1:256:60:', '', '', '', '', '', ''), ('system_error_mail', 10000001, 'システム責任者メールアドレス', 30, 'twitter-brain@yahoo.co.jp', '6:', '', '', '', '', '', ''), ('exhibit_fsz_max', 10000001, '商品写真アップロード可能ファイルサイズ', 40, '2048', '3:2048:1', '単位はKB', '', '', '', '', ''), ('day_flw_num', 10000002, '一日のフォロー数', 10, '20', '3:99999:0', '初期値', '', '', '', '', ''), ('min_flw_num', 10000002, '最低フォロワー数', 20, '0', '3:99999:0', '初期値', '', '', '', '', ''), ('flw_limit_num', 10000002, 'フォロー規定数', 30, '1000', '3:9999:0', '', '', '', '', '', ''), ('flw_max_per', 10000002, 'フォロー割合', 40, '1.1', '4:10:0:2', '規定数以上フォローする場合のフォロー数/フォロワー数の値', '', '', '', '', ''), ('flw_rel_hours', 10000002, 'フォロー解除時間', 15, '48', '3:9999:0', 'フォロー返しがなかった場合、フォローを解除するまでの時間', '', '', '', '', ''), ('flw_chk_days', 10000002, 'フォローチェック間隔', 17, '7', '3:9999:0', 'フォローアカウントからフォローされているかどうかチェックする間隔(日)', '', '', '', '', ''), ('neg_word', 10000002, '除外キーワード', 5, 'お断り 禁止', '0:0:60:256:', 'フォロー対象で除外するキーワード', '', '', '', '', ''), ('consumer_key', 10000003, 'API key', 10, '', '0:1:60:256:', '', '', '', '', '', ''), ('consumer_secret', 10000003, 'API secret', 20, '', '0:1:60:256:', '', '', '', '', '', ''); -- -------------------------------------------------------- -- -- テーブルの構造 `m_ctrlgrp` -- CREATE TABLE IF NOT EXISTS `m_ctrlgrp` ( `ctrlgrpcd` int(11) NOT NULL default '0', `ctrlgrpname` varchar(128) default NULL, `ctrlgrpspl` varchar(64) default NULL, `bikou01` text, `bikou02` text, `bikou03` text, `bikou04` text, `bikou05` text, PRIMARY KEY (`ctrlgrpcd`), KEY `i_ctrlgrp_ctrlgrpspl` (`ctrlgrpspl`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- -- テーブルのデータをダンプしています `m_ctrlgrp` -- INSERT INTO `m_ctrlgrp` (`ctrlgrpcd`, `ctrlgrpname`, `ctrlgrpspl`, `bikou01`, `bikou02`, `bikou03`, `bikou04`, `bikou05`) VALUES (10000001, '画像設定', '2000', '', '', '', '', ''), (10000002, 'フォロー設定', '1000', '', '', '', '', ''), (10000003, 'システム設定', '9999', '', '', '', '', ''); -- -------------------------------------------------------- -- -- テーブルの構造 `m_program` -- CREATE TABLE IF NOT EXISTS `m_program` ( `pgno` int(11) NOT NULL default '0', `pgname` varchar(128) default NULL, `pgfilename`

関連するQ&A