INSERT INTO ZD_DJDCB (DJH,ZDSZ) VALUES ('150105101204JC00428', '北: 地块1' || CHR(13) || '东:地块2' || CHR(13) || '南:地块3' || CHR(13) || '西:地块4')
时间: 2023-03-26 22:02:24 浏览: 108
这是一个 SQL 语句,用于向 ZD_DJDCB 表中插入一条记录,其中 DJH 字段为 '150105101204JC00428',ZDSZ 字段为 '北: 地块1'、'东:地块2'、'南:地块3'、'西:地块4' 组成的字符串。
相关问题
INSERT INTO yq_sbcrk_qd_copy ( F_CreatorUserId, F_CreatorTime, org_code, djh, rkzl, gslb, gmsj, rcksj, rck, qdid ) SELECT F_CreatorUserId, F_CreatorTime, org_code, sb_djh, sb_rkzl, sb_gslb, sb_gmsj, sb_rksj, '入库', F_Id FROM yq_sb_rk WHERE yq_sbcrk_qd_copy.qdid = yq_sb_rk.F_Id AND yq_sb_rk.F_Id = '428513248992565445'这个SQL有错误吗
这个SQL语句有错误。正确的语句应该是:
INSERT INTO yq_sbcrk_qd_copy (F_CreatorUserId, F_CreatorTime, org_code, djh, rkzl, gslb, gmsj, rcksj, rck, qdid)
SELECT F_CreatorUserId, F_CreatorTime, org_code, sb_djh, sb_rkzl, sb_gslb, sb_gmsj, sb_rksj, '入库', F_Id
FROM yq_sb_rk
WHERE F_Id = '428513248992565445' AND F_Id NOT IN (SELECT qdid FROM yq_sbcrk_qd_copy);
这个SQL语句的意思是:将yq_sb_rk表中F_Id='428513248992565445'的记录插入到yq_sbcrk_qd_copy表中,并将rck字段设置为'入库'。同时,确保yq_sb_rk表中的F_Id字段与yq_sbcrk_qd_copy表中的qdid字段不重复,以避免重复插入。
注意,这里使用了一个子查询来确保不重复插入。这个子查询返回yq_sbcrk_qd_copy表中所有的qdid值,如果yq_sb_rk表中的F_Id也在这些值中,则不会插入。这样可以避免重复插入相同的记录。
delete from erp_raw_data_202305 where id in (select id from erp_raw_data_202305 where djh not in (select djh from erp_detail_raw_data_202305 GROUP BY djh)) > 1093 - You can't specify target table 'erp_raw_data_202305' for update in FROM clause > 时间: 0.009s
这是一个MySQL的错误提示,意思是不能在FROM子句中指定要更新的目标表。通常情况下,MySQL不允许在一个语句中同时查询和更新同一个表。
解决这个问题的方法是使用临时表,将要更新的数据先查询出来放到临时表中,然后再更新原表。具体的SQL语句如下:
```
CREATE TEMPORARY TABLE temp_table
SELECT id FROM erp_raw_data_202305
WHERE djh NOT IN (SELECT djh FROM erp_detail_raw_data_202305 GROUP BY djh);
DELETE FROM erp_raw_data_202305
WHERE id IN (SELECT id FROM temp_table);
DROP TEMPORARY TABLE temp_table;
```
这样就可以避免在FROM子句中指定要更新的目标表的问题了。
阅读全文