此代码只会更新列:
更新用户设置 workexperience =' $ workexperience',技能=' $技巧',经验=' $经验',sailentFeature =' $ sailentFeature',skill1 =' $ skill1',体验1 =' $体验1'
其中user_id =' $ user_id'
但我想使用引用列将值插入MySQL表的balnk列。 任何人都可以解释如何同时使用INSERT和UPDATE吗?
答案 0 :(得分:0)
如果您的表单接受值A,B和C但不接受D,E和F,则执行以下查询:
INSERT INTO users (A,B,C) VALUES (?,?,?)
然后您捕获LAST_INSERT_ID()
值以了解在此处设置了哪个行标识符,因为user_id
列应为AUTO_INCREMENT
才能使其正常工作。
然后你在第二部分做了更新:
UPDATE users SET D=?,E=?,F=? WHERE user_id=?
有效地填补了空白。
答案 1 :(得分:0)
我'我不确定我是否完全明白你想做什么。我假设您想要在数据库中不存在的情况下插入新记录。同时,如果存在更改或空字段,则需要更新现有记录。
在您的唯一列上创建一个UNIQUE约束,在您的情况下可能是user_id:
ALTER TABLE users ADD UNIQUE (user_id)
使用INSERT ... ON DUPLICATE KEY UPDATE
功能。可以阅读更多here:
INSERT INTO users
(col1, col2, col3)
VALUES
(?, ?, ?)
ON DUPLICATE KEY UPDATE
col1 = VALUES(var1),
col2 = VALUES(var2)