我正在尝试使用此代码,但它无效。始终将MAX(eq_no)
设为0
$sql1 =mysqli_query($con, "SELECT MAX(eq_no) AS val FROM tech_add_equip");
$sql2 = "INSERT INTO time (eq_no,status_no) VALUES ('$val', 4 );";
if (!mysqli_query($con,$sql2)) {
die('Error: ' . mysqli_error($con)); };
最后,在尝试使用此代码后,它会插入正确数量的MAX(eq_no)
,但我仍然无法插入status_no
INSERT INTO time (eq_no) SELECT MAX(eq_no) AS vale FROM tech_add_equip
你能否告诉我代码中缺少什么?
感谢您的帮助
答案 0 :(得分:0)
$max = SELECT MAX( customer_id ) FROM customers;
INSERT INTO customers( customer_id, statusno )
VALUES ($max , 4)
答案 1 :(得分:0)
在子查询中从SELECT a,b,c
语句返回的一行等同于另一组硬编码为('a-value','b-value','c-value')
*的值。您也可以在select中对值进行硬编码:
INSERT INTO time (eq_no, status_no)
SELECT MAX(eq_no), 4
FROM tech_add_equip
select中不需要别名 - 列的顺序很重要。
*)一行结果可用于IN()
子句。另一行将在逗号后变为值集 - 不能用于IN()
,但它适用于INSERT
('row1-a-value', 'row1-b-value'), ('row2-a-value', 'row2-b-value')