我想插入一個值的表中插入所有值的父值是來自同一個表「master
」一些條目。問題與子查詢在同一個表中插入一個值
我用別名subquesry上INSERT INTO with SubQuery MySQL
INSERT INTO mdl_question_categories (NAME, stamp, parent, info)
SELECT
'cat100' AS NAME,
'localhost+140117065545+AUXF' AS stamp,
id
FROM
mdl_question_categories
WHERE NAME = 'master',
'desc' AS info ;
此代碼拋出
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''desc' as info' at line 1 SQLState: 42000 ErrorCode: 1064
然後,我改變了查詢
INSERT INTO mdl_question_categories (NAME, stamp, info, parent)
SELECT
'cat100' AS NAME,
'localhost+140117065545+AUXF' AS stamp,
'desc' AS info,
id
FROM
mdl_question_categories
WHERE NAME = 'master' ;
此作品錯誤的建議優秀。
現在的問題是爲什麼會發生這種情況?
是否有任何限制,我們應該始終保持查詢部分結束時的值採摘sql部分id from mdl_question_categories where name='master'
?
現在的問題是 - 你想從'AS'(別名)在WHERE條款? –
@Strawberry無關緊要,就是上面查詢時的字符串文字(用引號括起來) –
Ahaaaa !!!! @AlmaDo您指出了一件非常重要的事情,我忽略了+1。 – veer7