mysqlで一度に複数の類似レコードを挿入する方法は?

mysqlで一度に複数の類似レコードを挿入する方法は?

次のクエリを使用して一度に複数のレコードを挿入できることを知っています。

INSERT INTO `TABLE1` (`First`,`Last`) VALUES ('name1','surname1'),
('name2','surname2'),
('name3','surname3'),
('name4','surname4');

しかし、上記のような1000レコードを追加するには、(name*,surname*)すべてのレコードを書き込む必要がありますか?それともワイルドカードなどを使用できますか?それともmysql(phpmyadmin)を使用する他のソリューションがありますか?

ベストアンサー1

いいえ。次の種類の挿入のみを実行できます。

INSERT INTO table (artist, album, track, length) 
VALUES 
("$artist", "$album", "$track1", "$length1"), 
("$artist", "$album", "$track2", "$length2"),
("$artist", "$album", "$track3", "$length3"), 
("$artist", "$album", "$track4", "$length4"),
("$artist", "$album", "$track5", "$length5");

ただし、必要な正規表現を使用して上記の内容を生成するスクリプトをいつでも作成できます。その後、スクリプトは正規表現を上記の適切な項目に拡張してINSERT ...実行する責任があります。

正規表現演算子

事前にスキーマを生成したり、VALUES使用したコマンドコンテンツの一部として生成したりできますREGEXP

次のセクションで複数回使用できますWHERE

SELECT col1, col2, ..., coln
FROM products
WHERE sku REGEXP '^[A-Za-z]{2,4}-[0-9]{3}-[0-9]{2}$'

MySQL Webサイトでこの演算子の詳細を読むことができます。正規表現文書しかし、このように使われることを見たことがなく、自分で使ってみるつもりはありませんでした。このSO Q&Aで言及されたコマンドを見つけました。MySQLで使用する正規表現の調整

引用する

おすすめ記事