好的,所以我知道有一些类似的问题,但我如何在MySQL中更新这样的表:
+----+----------+---------+-------------------------+
| id | username | subject | content |
+----+----------+---------+-------------------------+
| 1 | Fred | English | Lorem Ipsum |
+----+----------+---------+-------------------------+
所以,我想说,我想更新用户英语书中的内容,但是,如果它不在那里,我想插入它,然后在将来更新它。
答案 0 :(得分:0)
如果一个用户只能在一个主题上有一本书,则应在(username, subject)
上创建一个唯一索引并使用此查询:
INSERT
INTO mytable (username, subject, content)
VALUES (:username, :subject, :content)
ON DUPLICATE KEY
UPDATE content = VALUES(content)
答案 1 :(得分:0)
首先,您必须在要唯一的列上创建唯一索引。然后查询就是这样:
INSERT INTO `tableName` (`username`, `subject`, `content`)
VALUES ('[value 1]', '[value 2]', '[value 3]')
ON DUPLICATE KEY UPDATE `username` = '[value 1]', `subject` = '[value 2]', `content` = '[value 3]';