我一直在解决this post的问题,但是我无法找到适合自己的解决方案,接下来是:
我有这个等价物:

subject1 = subjectA
subject2 = subjectB
subject3 = subjectC


然后我有一个带有下一个数据的csv文件:

hour,subject,teacher,room
10-11,subject1,teacher1,room1
11-12,subject2,teacher2,room1
09-11,subject3,teacher3,room2
10-11,subject4,teacher2,room3


然后我将此csv导出到mysql,所以我需要做的是

duplicate row where subject like "subject1" and replace "subject1" by "subjectA";


与subject2,subject3相同,当我说替换时,是指文本字符串“ subject1”与文本字符串“ subjectA”。

我希望我能说清楚,非常感谢。

最佳答案

只需选择数据不变的列(小时,教师等),以及要替换数据不变的字符串(subjectA)。注意,“ subjectA”用引号引起来。

INSERT INTO
    `your_table`
    (`hour`, `subject`, `teacher`, `room`)
        SELECT
            `hour`, 'subjectA', `teacher`, `room`
        FROM
            `your_table`
        WHERE
            `subject` = 'subject1'

10-06 05:32