MEM*_*MEM 7 mysql alias insert
我们可以在语法中使用带插入的别名吗?
以下工作均不属于:
INSERT INTO tableblabla AS bla
INSERT INTO bla tableblabla
INSERT INTO tableblabla bla
Run Code Online (Sandbox Code Playgroud)
我似乎找不到任何关于此的信息; 是否有一种在INSERT语句中使用别名的有效方法?
关于可能的原因:http: //bugs.mysql.com/bug.php?id = 3275
小智 17
唉,INSERT语法可以看出它是不可能的.注意它只是说[INTO] tbl_name没有提及[AS] alias,而更新语法,它允许别名,说"table_reference"和进一步的文档说明这可以扩展到table_factor包括tbl_name [AS] alias.
不幸的是因为能够在INSERT上使用表别名对INSERT ... ON DUPLICATE KEY UPDATE语句非常有用.特别是在对列进行检查时,如下例所示:
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>;
Run Code Online (Sandbox Code Playgroud)
如果表名更改,则必须修改许多代码行,而不是在查询中使用的开头使用别名.
| 归档时间: |
|
| 查看次数: |
10921 次 |
| 最近记录: |