如何将值插入MySQL表的特定空白列?

时间:2017-07-14 06:35:50

标签: php mysql angularjs

此代码只会更新列:

  

更新用户设置   workexperience =' $ workexperience',技能=' $技巧',经验=' $经验',sailentFeature   =' $ sailentFeature',skill1 =' $ skill1',体验1 =' $体验1'

     

其中user_id =' $ user_id'

但我想使用引用列将值插入MySQL表的balnk列。 任何人都可以解释如何同时使用INSERT和UPDATE吗?

2 个答案:

答案 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)

我'我不确定我是否完全明白你想做什么。我假设您想要在数据库中不存在的情况下插入新记录。同时,如果存在更改或空字段,则需要更新现有记录。

  1. 在您的唯一列上创建一个UNIQUE约束,在您的情况下可能是user_id:

    ALTER TABLE users ADD UNIQUE (user_id)
    
  2. 使用INSERT ... ON DUPLICATE KEY UPDATE功能。可以阅读更多here

    INSERT INTO users 
    (col1, col2, col3)
    VALUES
    (?, ?, ?)
    ON DUPLICATE KEY UPDATE
    col1     = VALUES(var1),
    col2     = VALUES(var2)