我们可以在插入语法时使用别名吗?我可以在INSERT语句中使用别名吗?
无以下工作:
INSERT INTO tableblabla AS bla
INSERT INTO bla tableblabla
INSERT INTO tableblabla bla
我似乎无法找到有关这方面的资料;有没有在INSERT语句中使用别名的有效方法?
关于可能的原因: http://bugs.mysql.com/bug.php?id=3275
我们可以在插入语法时使用别名吗?我可以在INSERT语句中使用别名吗?
无以下工作:
INSERT INTO tableblabla AS bla
INSERT INTO bla tableblabla
INSERT INTO tableblabla bla
我似乎无法找到有关这方面的资料;有没有在INSERT语句中使用别名的有效方法?
关于可能的原因: http://bugs.mysql.com/bug.php?id=3275
的INSERT
syntax不允许别名。为什么你会在INSERT语句中需要一个呢?一次只能将INSERT
整合到一张表中。
能够在INSERT上使用表别名对ON DUPLICATE KEY语句非常有用,特别是在对列执行检查时。这里有一个例子:
insert into very_long_table_name_that_can_be_modified_one_day_or_during_testing (
mykey,
column1,
column2,
column3,
<column99>
)
select
mykey,
column1,
column2,
column3,
<column99>
from subquery
on duplicate key update
column1 = ifnull(values(column1), very_long_table_name_that_can_be_modified_one_day_or_during_testing.column1),
column2 = ifnull(values(column2), very_long_table_name_that_can_be_modified_one_day_or_during_testing.column2),
column3 = ifnull(values(column3), very_long_table_name_that_can_be_modified_one_day_or_during_testing.column3),
<column99>;
如果表名称更改你将不得不修改了很多代码行相比,只具有这是在查询中使用开始的别名。
这应该是一个评论。但无论如何,这是非常重要的 – th3an0maly 2015-04-15 06:45:54
你为什么需要这个? – 2010-09-13 17:07:01
你想用什么SQL? – 2010-09-13 17:09:30
@Meakins - mysql的味道。 @pekka:我编辑了我原来的问题。 – MEM 2010-09-14 17:42:25