gpt4 book ai didi

php - 如何在 SQL 中从同一个表中的其他两个值创建一个值?

转载 作者:行者123 更新时间:2023-11-29 22:19:12 24 4
gpt4 key购买 nike

我在 SQL 数据库中有一个名为“orders”的表:

id  date   name  orderID
========================
1 1502 John ?
2 1502 Jane ?

“id”设置为 AUTO_INCRMENT,并且“日期”是在我通过 php 表单插入数据时创建的:

if ( !empty($_POST)) {
$name = $_POST['name'];
$valid = true;


if ($valid) {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO orders (name,date) values(?,CURDATE())";
$q = $pdo->prepare($sql);
$q->execute(array($name));
Database::disconnect();
}
}

我希望“orderID”的值是根据值“id”和“date”自动创建的:

id  date   name  orderID
========================
1 1502 John 15021
2 1502 Jane 15022

最佳答案

由于 id 是一个 AUTO_INCRMENT,您无法控制该值。但这很简单。向表中添加一个 AFTER INSERT 触发器,并让它随后更新 orderID 列。

这是 AFTER UPDATE 触发器的快速示例。

CREATE TRIGGER yourTrigger
AFTER INSERT
ON yourTable FOR EACH ROW

BEGIN
UPDATE yourTable
SET orderid = CAST(date as char(4)) + CAST(id as char(1))
WHERE ID = NEW.id

END;

关于php - 如何在 SQL 中从同一个表中的其他两个值创建一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30916742/

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