我想创建一个查询来插入多个值以及来自其他表的值,例如:
INSERT INTO table
(date, user_id, category_id, title, description)
VALUES
((STR_TO_DATE('04-01-2014', '%b-%d-%Y'),
(SELECT id FROM users WHERE username = 'admin' LIMIT 1),
(SELECT id FROM categories WHERE category = 'games' LIMIT 1),
'title here',
'description here')
然而,这给了我一个错误,并且从PHP中发现了500个内部服务器错误。请帮助。
答案 0 :(得分:1)
INSERT INTO table (fields)
SELECT
str_to_date(),
users.id,
categories.id,
'title',
'description'
FROM
users
INNER JOIN
categories ON users.key = categories.key
WHERE
users.username = 'admin' AND
categories.category = 'games'
应该这样做我认为......
答案 1 :(得分:0)
如果您这样做,我很确定SELECT
之后需要VALUES
。试试这个,看它是否有效。
INSERT INTO table
(date, user_id, category_id, title, description)
VALUES
SELECT
STR_TO_DATE('04-01-2014', '%b-%d-%Y'),
(SELECT id FROM users WHERE username = 'admin' LIMIT 1),
(SELECT id FROM categories WHERE category = 'games' LIMIT 1),
'title here',
'description here'