Max*_*and 4 mysql sql insert table-alias
我碰巧有两列与两个 SQL 保留字 Key 和 Value 同名。使用 SELECT 语句时,我可以创建一个表别名并以这种方式解决它。
现在我正在尝试插入数据,但似乎无法在 INSERT 语句中创建表别名。
INSERT INTO attributeStrings ats
(ats.ItemID,ats.Key,ats.Value)
VALUES (3,'Categories','TechGUI')
Run Code Online (Sandbox Code Playgroud)
我收到错误'ats (ats.ItemID,ats.Key,ats.Value) VALUES (3,'Categories','TechGUI')'提示无法创建别名。
有没有办法在不重命名列键和值的情况下解决这个问题?
使用反引号来转义保留字。
INSERT INTO `attributeStrings` (`ItemID`, `Key`,`Value`) VALUES (3,'Categories','TechGUI')
Run Code Online (Sandbox Code Playgroud)
看起来插入不支持别名。看这里
编辑:好的,MySQL ref 说插入中没有别名
它确实有效
mysql> INSERT INTO `attributeStrings` (`ItemID`, `Key`,`Value`) VALUES (3,'Categories','TechGUI');
Query OK, 1 row affected (0.03 sec)
mysql> select * from attributeStrings;
+--------+------------+---------+
| ItemId | Key | Value |
+--------+------------+---------+
| 3 | Categories | TechGUI |
+--------+------------+---------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)