CREATE TEMPORARY TABLE tmp_backup SELECT * FROM your_table WHERE condition='10';这个语法在MySQL中报错
时间: 2024-03-11 08:50:09 浏览: 65
在 MySQL 中,CREATE TEMPORARY TABLE 语句需要指定表结构,即需要在 SELECT 语句中使用 AS 关键字来为每个列指定别名。因此,您的语句需要修改如下:
```
CREATE TEMPORARY TABLE tmp_backup
AS SELECT * FROM your_table WHERE condition='10';
```
这样就可以创建一个临时表 tmp_backup,并将 your_table 表中 condition 字段值为 '10' 的记录复制到该临时表中。
请注意,临时表在当前会话结束时会自动销毁。如果您需要在其他会话中使用该临时表,可以使用 CREATE TABLE ... SELECT ... 语句来创建一个永久表并将临时表中的数据复制到该永久表中。
相关问题
UPDATE T_OB_CALLHIS_332000 set GROUP_ID=(SELECT GROUP_ID FROM T_OB_TASKITEM_332000 WHERE TASKITEM_ID=(SELECT taskitem_id FROM T_OB_CALLHIS_332000 WHERE RECORD_ID='202303089264649443yc')) where RECORD_ID='202303089264649443yc' > 3009 - UDAL - Handler process error: You can't specify target table 'T_OB_CALLHIS_332000' for update in FROM clause
这个错误是由于 MySQL 不允许在 UPDATE 查询的子查询中使用更新同一张表的操作。你可以尝试使用一个临时表来解决这个问题,将子查询结果存储到临时表中,然后再执行 UPDATE 操作,具体代码如下:
```
CREATE TEMPORARY TABLE tmp_table
SELECT GROUP_ID, taskitem_id
FROM T_OB_TASKITEM_332000
WHERE TASKITEM_ID = (
SELECT taskitem_id
FROM T_OB_CALLHIS_332000
WHERE RECORD_ID = '202303089264649443yc'
);
UPDATE T_OB_CALLHIS_332000
SET GROUP_ID = (
SELECT GROUP_ID
FROM tmp_table
)
WHERE RECORD_ID = '202303089264649443yc';
DROP TEMPORARY TABLE tmp_table;
```
这个方法将子查询的结果存储到了一个临时表中,然后使用这个临时表来更新目标表。最后别忘了删除临时表。
这段代码有什么问题SELECT * INTO #tmp# FROM ( select cast(period_id as integer) 会计期,
这段代码存在语法错误。首先,`#`符号不是PGsql中的有效符号,应该使用`_`符号代替。其次,`SELECT INTO`语法在PGsql中不支持`#temp_table_name`这种表名格式,应该使用`CREATE TEMPORARY TABLE`语法来创建临时表。
另外,`CAST`函数在PGsql中也存在差异,应该使用`::`运算符来进行类型转换。
因此,正确的代码应该是:
```
CREATE TEMPORARY TABLE tmp_table_name AS
SELECT CAST(period_id AS INTEGER) AS 会计期,
...
FROM ...
```
其中,`tmp_table_name`是你要创建的临时表的名称,`period_id`是源表中的列名,`AS INTEGER`是将该列转换为整数类型,`...`代表其他需要查询的列和表。
需要注意的是,临时表只在当前会话中存在,并且会话结束后自动删除。如果需要在多个会话中共享临时表,可以使用`UNLOGGED`关键字来创建一个无日志的表。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![ZIP](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pptx](https://img-home.csdnimg.cn/images/20241231044947.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)