目前我有,
表1:
Web View
表2:
NavigationStarting
有一个表单要填充,以便使用AJAX POST到PHP在Table1中插入新的DEVICEID和STATUS。在更新SQL之前,如果只有相同的 DEVICEID填写在表2中的DEVICEID表单中,否则我将创建一个只能才能更新Table1的条件,否则它将返回错误并且不会更新Table1。
这就是我所拥有的:
ID | DEVICEID | STATUS |
--------------------------------
1 | SN001 | ENROLL |
2 | SN002 | ENROLL |
答案 0 :(得分:0)
INSERT INTO table1
SELECT DEVICEID, STATUS
FROM Table2
WHERE DEVICEIUD = @param1 AND STATUS = @param2
LIMIT 1
SELECT ROW_COUNT();
并检查影响行数
答案 1 :(得分:0)
我通常会进行两次查询
PDO
然后,如果你正在使用rowCount is == 0
检查if ($stmt->rowCount == 0) {
"INSERT INTO table1(deviceId,status)
VALUES('$deviceid', '$status')
WHERE deviceid = deviceid
";
} else {
echo "Device ID already exists.";
}
是否喜欢这个
SELECT EXISTS ()
请注意,使用0
只会返回1
或SELECT deviceid
FROM table1
INNER JOIN table2 ON table1.deviceid=table2.deviceid
LIMIT 1
,因此您无法获取任何数据,如果您想要返回某些数据,可以跟
PDO
此外,如果您在使用rowCount()
时获取数据,请使用fetchColumn()
代替<div class="container">
<form >
<fieldset class="form-group row">
<div style="float: left;">
<label for="email" class="control-label col-sm-2">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" />
</div>
</div>
<div style="margin-left: 250px">
<label for="password" class="control-label col-sm-2">Password</label>
<div class="col-sm-10">
<input type="password" id="password" class="form-control" />
</div>
</div>
</fieldset>
<fieldset class="form-group">
<button type="submit" class="btn btn-primary">Submit</button>
</fieldset>
</form>
</div>
答案 2 :(得分:0)
由此解决:
INSERT INTO table1 (deviceid, status)
SELECT DISTINCT '$deviceid','$status'
FROM table2
WHERE deviceid='$deviceid' AND status='$status'
感谢:Insert Into table If similar value exists in another existing table (not a foreign key)
每个帮助过我的人。 :)