我需要在表中插入一些值。
我可以很容易地使用查询(来自php):
mysql_query('INSERT INTO `TABLE1`(`user_id`,`value1`,`date`) VALUES("'.$user_id.'",".$value1.",".time().")');
但是这次我没有变量$user_id。我只有用户名。因此,我需要对USERS数据库再进行一次查询,以从username
等于我的变量的行中获取user_id
。
是否可以不进行2个查询?我在一个查询中遇到INSERT和SELECT?
附言:我知道mysql_query函数贬值了。例如,我在这里用过它。
尝试嵌套子查询:
INSERT INTO `TABLE1`
(`user_id`,`value1`,`date`)
VALUES
(
(
SELECT
`user_id`
FROM
`user`
WHERE
`username` = 'your-user-name' // should be unique in order to work
),
'value1',
NOW()
);
以下查询可能是您想要的,但最好先获取user_id,然后继续插入:
INSERT INTO TABLE1 (user_id, value1, date)
SELECT MAX(user_id) + 1 -- If the user_id is an numeric value...
,'user-name-here'
,NOW()
FROM TABLE1
通过这个查询,我从表中获取最后一个user_id,并将其递增1,以便在表中插入新用户。
希望这对你有帮助。