複数のqueryを一度にqueryする方法を教えてください。
mysql_query(”INSERT INTO `A` VALUES (2,’2004-12-04’);”);
など1つずつはできますが、
mysql_query(”INSERT INTO `A` VALUES (2,’2004-12-04’);¥r¥nINSERT INTO `A` VALUES (3,’2004-12-05’);”);
など複数のqueryを同時に実行することは可能でしょうか?
http://www.hatena.ne.jp/1101882029
人力検索はてな - mysq のSQL文を使って、あるフラッグがたっているデータのみに連番を簡単にふることは可能なのでしょうか?
phpからinsert文を
ループにより発行することで実現できます
(このページではupdateですが)
また、mysql5からは
ストアドプロシージャで同等なことが
可能なことも書いてます
(こちらの方がトラフィックもなく高速です)
http://www.mmdb.net/m_kaneko/mysql/kansu/mysql_query.html
関数リファレンス mysql_query
まず、mysql_queryで与えられるSQLは1つのステートメントでないといけないという縛りがあります。
(クロスサイトスクリプティングの対策と思われます)
ですから、ループでまわして複数回実行するか
http://jp2.php.net/function.exec
PHP: exec - Manual
mysqldumpで出力したようにmysqlにそのまま食わせられるファイルを作成してexecでmysqlに流すなどが考えられます。
が、セキュリティなどのことを考えるとループで解決するのがいいのかな、と思います。
ありがとうございます!
mysql_queryで与えられるSQLは1つのステートメントでないといけない
ループ
http://lists.mysql.com/mysql-ja/77
MySQL Lists: mysql-ja: Prepared Statement (訳)
MySQL 4.1からはサーバサイドのPrepared Statementが利用できるようです。「速く、セキュアー」であるとされています。C、Java、PHPのドライバーではすでにサポートされていて、Perlではこのドキュメントの時点では未サポート(クライアントサイドのみ)のようです。
ありがとうございます!
Prepared Statement
ありがとうございます!
DBのダンプデータなどをtxtファイルから読み込んでと考えてください。