gpt4 book ai didi

php - 带有插入和更新的 MySQL 案例

转载 作者:行者123 更新时间:2023-11-28 23:43:12 24 4
gpt4 key购买 nike

我需要帮助编写条件查询以将数据从一个表复制到另一个表,一切都非常简单,直到我决定在我的应用程序中包含版本控制!

我看过一些示例,但它们主要面向创建 mysql 过程,这是我尝试过的:

        SELECT CASE 
WHEN NOT EXISTS (
SELECT `version`
FROM `archive_courses`
WHERE `original_course_id` = '$course_id'
AND `version` = '$current_version'
)
THEN
BEGIN
INSERT INTO `archive_course_users` <------ syntax error
(`course_id`, `user_id`, `course_qty`)
SELECT @new_course_id, '$user_id', `course_qty`
FROM `current_course_users`
WHERE `course_id` = '$course_id'
AND `user_id` = '$user_id'
END
ELSE
BEGIN
UPDATE `archive_course_users`
SET `course_qty` = (SELECT `course_qty` FROM `current_course_users` WHERE `user_id` = '$user_id')
WHERE `original_course_id` = '$course_id'
AND `user_id` = '$user_id'
END
END
END

看起来情况是可行的/OK/但是当它到达我的INSERT 查询时抛出一个语法错误。 我应该怎么做?

最佳答案

它不应该那样工作。将您的查询更改为

               INSERT INTO `archive_course_users`     
(`course_id`, `user_id`, `course_qty`)
SELECT @new_course_id, '$user_id', `course_qty`
FROM `current_course_users`
WHERE `course_id` = '$course_id'
AND `user_id` = '$user_id'
AND NOT EXISTS (
SELECT 1
FROM `archive_courses`
WHERE `original_course_id` = '$course_id'
AND `version` = '$current_version');

关于php - 带有插入和更新的 MySQL 案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34023397/

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