在 sql 中添加新行
Adding new rows in sql
我的数据库中有这两个 table:
table_A: table_B:
id user grade id user date
1 Mike 9.5 1 Mike 9:05
2 Dan absent 2 Dan 7:40
3 Tom 9.4 3 Tom 3:20
4 Lina 7.4 4 Lina 7:40
5 Cynthia 5:39
6 Sam 4:50
我正在使用此 SQL 查询来检测 table_B 中的哪些用户在 table_A 中不存在,以及 select 那些用户(不存在于table A) ids:
SELECT table_B.id FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
我正在使用这个 php 脚本将 ID 放入变量 $not:
$sql=" SELECT table_B.id FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A)";
$result = mysqli_query($con,$sql);
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
while($row = mysqli_fetch_array($result)){
$not=$row[0];
}
问题是,对于那些不存在查询的用户,我只想提取他们的姓名和 ID(没有日期),并将其插入 table_A 并且成绩为空。任何帮助?
Insert into table_A(user,id,grade)
SELECT table_B.id,table_B.user,'' FROM table_B
WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
您可以使用 INSERT INTO SELECT。
https://dev.mysql.com/doc/refman/5.0/en/insert-select.html
您的查询如下:
INSERT INTO `table_A` (`id`, `user`)
SELECT `id`, `name` FROM `table_B`
WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
试试这个,
Insert into table_A(id, user, '') SELECT b.id, b.user FROM table_B b WHERE b.id NOT IN (SELECT a.id FROM table_A a);
我的数据库中有这两个 table:
table_A: table_B:
id user grade id user date
1 Mike 9.5 1 Mike 9:05
2 Dan absent 2 Dan 7:40
3 Tom 9.4 3 Tom 3:20
4 Lina 7.4 4 Lina 7:40
5 Cynthia 5:39
6 Sam 4:50
我正在使用此 SQL 查询来检测 table_B 中的哪些用户在 table_A 中不存在,以及 select 那些用户(不存在于table A) ids:
SELECT table_B.id FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
我正在使用这个 php 脚本将 ID 放入变量 $not:
$sql=" SELECT table_B.id FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A)";
$result = mysqli_query($con,$sql);
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
while($row = mysqli_fetch_array($result)){
$not=$row[0];
}
问题是,对于那些不存在查询的用户,我只想提取他们的姓名和 ID(没有日期),并将其插入 table_A 并且成绩为空。任何帮助?
Insert into table_A(user,id,grade)
SELECT table_B.id,table_B.user,'' FROM table_B
WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
您可以使用 INSERT INTO SELECT。 https://dev.mysql.com/doc/refman/5.0/en/insert-select.html
您的查询如下:
INSERT INTO `table_A` (`id`, `user`)
SELECT `id`, `name` FROM `table_B`
WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
试试这个,
Insert into table_A(id, user, '') SELECT b.id, b.user FROM table_B b WHERE b.id NOT IN (SELECT a.id FROM table_A a);