Php 插入和更新sql表
我在数据库中有两个表:Php 插入和更新sql表,php,mysql,sql,Php,Mysql,Sql,我在数据库中有两个表:users和user\u settings。 在users表中,我的主键列为user\u id,其他列如first\u name和last\u name。 在user\u setting表中有4列:user\u id、locale、value\u name和value。存在不同的user\u id记录,某些user\u id可能出现多次,也可能不会出现一次。 我想在user\u setting表中添加每个user\u id的记录,其中value\u name等于'first
users
和user\u settings
。
在
users
表中,我的主键列为user\u id
,其他列如first\u name
和last\u name
。
在
user\u setting
表中有4列:user\u id
、locale
、value\u name
和value
。存在不同的user\u id
记录,某些user\u id可能出现多次,也可能不会出现一次。
我想在
user\u setting
表中添加每个user\u id
的记录,其中value\u name
等于'first\u name',valee
来自users
表first\u name
列。对姓氏
也执行同样的操作。
换句话说,我想在
locale
列、value\u name
、value
列中为每个user\u id
添加user设置
表:(users
表中的'en\u-us',first\u-name',first\u-name列)和(users
表中的'en\u-us',last\u-name',last\u-name列).例如,在
users
表中,如果有一个用户id:10,名字为'john',姓氏为'smith',我想将这两条记录添加到user\u设置
表中:(10,'en_US','first_name','john')和(10,'en_US','last_name','smith'))
此任务的查询是什么?非常感谢一个非常简单的解决方案就是选择所需的字段并将它们插入到另一个表中
INSERT INTO
user_Setting (
user_id,
locale,
value_name,
value
)
SELECT
user.id,
'en_us',
'first_name',
user.first_name
FROM
user
UNION ALL
SELECT
user.id,
'en_us',
'last_name',
user.last_name
FROM
user
;
这假设此表中已经没有此类记录,因此在运行
INSERT
之前无需进行任何检查。这似乎是一个精心设计的示例/问题-偶然分配?你能展示一下到目前为止你做了什么吗?Stackoverflow不是一个免费的编码网站。向我们展示您迄今为止尝试过但未成功的内容,然后我们可以帮助您用户设置表中是否已有此类记录?或者您可以天真地插入这些行而不检查它们是否已经存在?