gpt4 book ai didi

php - 如何通过更新表php替换数据库值

转载 作者:行者123 更新时间:2023-11-29 21:01:57 25 4
gpt4 key购买 nike

我创建了两个表subscription_pending和subscription_complete

subscription_complete包含

id mag1 mag2 mag3 mag4
4 100 0 100 0

subscription_pending 包含

id mag1 mag2 mag3 mag4
4 100

我通过以下命令插入了值

$final_q=  "INSERT INTO `subscription_complete` (`id`, `mag1`, `mag2`, `mag3`, `mag4`) VALUES ('".$row_q['id']."','".$row_q['mag1']."','".$row_q['mag2']."','".$row_q['mag3']."','".$row_q['mag4']."'

我想更新 subscription_complete 表而不替换其值,即 100,因为我写了以下查询

$final_q1= "update subscription_complete set mag1='".$row_q['mag1']."',mag2='".$row_q['mag2']."',mag3='".$row_q['mag3']."',mag4='".$row_q['mag4']."' where id='".$row_q['id']."'"; 

你能告诉我如何在值为 0 的剩余列中设置 100 值吗?

提前谢谢您!!

最佳答案

这假设 subscription_pending 中的空字段包含 NULL,而不是空字符串。

UPDATE subscription_complete AS c
JOIN subscription_pending AS p ON p.id = c.id
SET c.mag1 = IFNULL(p.mag1, c.mag1),
c.mag2 = IFNULL(p.mag2, c.mag2),
c.mag3 = IFNULL(p.mag3, c.mag3),
c.mag4 = IFNULL(p.mag4, c.mag4)

如果它们实际上是空字符串,请使用 IF(p.magX = '', c.magX, p.magX) 而不是 IFNULL 测试。

关于php - 如何通过更新表php替换数据库值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37147039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com