厄介な状況で少し助けが必要です。
現在、私はこのような配列を持っています
Array
(
[0] => Array
(
[Task_ID] => 59
[email] => m@m.com
)
[1] => Array
(
[Task_ID] => 59
[email] => m@m.com
)
[2] => Array
(
[Task_ID] => 59
[email] => z@z.com
)
[3] => Array
(
[Task_ID] => 60
[email] => m@m.com
)
[4] => Array
(
[Task_ID] => 60
[email] => z@z.com
)
[5] => Array
(
[Task_ID] => 61
[email] => z@z.com
)
)
これが私の現在の挿入ステートメントです。
if(is_array($myArr)){
$valuesArr = array();
foreach($myArr as $row){
$sql = "INSERT INTO user_data (Task_ID, email, url) values ";
$TaskID = (int) $row['Task_ID'];
$email = mysql_real_escape_string( $row['email'] );
$valuesArr[] = "('$TaskID', '$email')";
$sql .= "('$TaskID', '$email')";
mysql_query($sql) or exit(mysql_error());
}
}
私がやりたいのは、URL 値である配列にない新しい値を挿入することです。
URL については、一意の電子メールごとに番号を増やしたいと思います。同じ電子メールは同じ URL 値を取得します。
SQL 構文がどのように見えるべきかの例。
INSERT INTO user_data (TaskID, email, url) values ('60', 'm@m.com','1')
INSERT INTO user_data (TaskID, email, url) values ('80', 'm@m.com','1')
INSERT INTO user_data (TaskID, email, url) values ('82', 'z@z.com','2')
INSERT INTO user_data (TaskID, email, url) values ('62', 'z@z.com','2')
INSERT INTO user_data (TaskID, email, url) values ('42', 'z@z.com','2')
INSERT INTO user_data (TaskID, email, url) values ('61', 'a@a.com','3')
INSERT INTO user_data (TaskID, email, url) values ('81', 'a@a.com','3')
INSERT INTO user_data (TaskID, email, url) values ('92', 't@t.com','4')
INSERT INTO user_data (TaskID, email, url) values ('32', 't@t.com','4')
INSERT INTO user_data (TaskID, email, url) values ('72', 't@t.com','4')
メールが変更されるたびに、URL が 1 つずつ増加していることに注意してください。TaskID は PK ではなく、メールは順番どおりではないことに注意してください。
お読みいただき、誠にありがとうございます。