gpt4 book ai didi

php - mysql中的Concat和Concat_ws

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

我有以下数据库结构。

ID | Name | Marks

我正在尝试在我的 PHP 脚本中插入记录。如果该记录不存在,我将创建一个新记录。如果确实存在,我会将标记列与新标记连接起来。

$strSQL = "Replace into student set ID = '".$id."', 
name = '".$name."', marks= CONCAT_WS(',',Marks,'".$marks."')";

查询运行正常,但 concat 不起作用。旧记录正在被新记录覆盖。我也尝试过CONCAT

谢谢

最佳答案

处理这个问题的正确方法是使用一个单独的标准化表来保存学生 ID 和分数。使用 INSERT IGNORE 将学生信息插入到 student 表中,然后将分数插入到 marks 表中,每个学生多行。这还允许您存储日期以及添加到表中的每个标记或其他信息(例如它所属的类(class))。请注意,我通常不建议使用 INSERT IGNORE 创建行,而是首先在代码中检查该行是否存在,如果不存在则仅插入。

CREATE TABLE marks (
markID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
studentID INT NOT NULL,
mark VARCHAR() NOT NULL,
markdate DATETIME NOT NULL
);

/* First execute the insert, which will ignore errors if it already exists */
INSERT IGNORE INTO student (ID, name) VALUES ($id, '$name');

/* Then insert the new marks. Loop to add as many new marks as needed */
INSERT INTO marks (studentID, mark, markdate) VALUES ($id, '$marks', NOW());

关于php - mysql中的Concat和Concat_ws,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11149189/

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