使用选择查询在mysql中创建更新脚本,语法有问题吗?

时间:2019-06-25 15:18:00

标签: mysql

因此在oracle sql中,如果我想生成一个脚本以进行一些更新以便稍后运行,我可以运行这样的查询

SELECT 'UPDATE p_information SET admin_entitiy_id ='||asa.id||' where pi.id 
='||PI.id||';'
FROM
p_information pi
LEFT JOIN admin_setup_accounts asa ON asa.name = pi.admin_entity_unverified
WHERE
pi.admin_entity_unverified IS NOT NULL
AND pi.admin_entity_unverified <> ''
AND pi.admin_auditing_entity_id IS NULL
and pi.id < 200000
AND pi.admin_entity_unverified IN (select name  FROM admin_setup_accounts)

这会给我输出更新语句的列表,这些更新语句具有从整个查询中正确的asa.id和pi.id的功能,但是语法似乎在mysql中不起作用。是这样的事情在mysql中是可能的,还是有其他方法可以做到这一点?主要原因是我正在寻找生成备份脚本的方法,因此在进行任何数据修复后,如果有其他原因,还可以返回。

谢谢

1 个答案:

答案 0 :(得分:1)

除非您已打开ANSI管道模式,否则MySQL通常不使用ProxyRequests Off SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyMachineCertificateFile /paht/to/the/private/client_crt_rsa.pem <Proxy *> Require all granted </Proxy> ProxyPass / ${API_URL} retry=\${CLOUD_HTTPS_PROXY_RETRY} keepalive=\${CLOUD_HTTPS_PROXY_KEEPALIVE} nocanon ProxyPassReverse / ${API_URL} <Location /visualizer/ > ProxyPreserveHost Off ProxyPass ${S3_URL} retry=\${CLOUD_HTTPS_PROXY_RETRY} keepalive=\${CLOUD_HTTPS_PROXY_KEEPALIVE} nocanon ProxyPassReverse ${S3_URL} </Location> <Location /visualise/ > ProxyPreserveHost Off ProxyPass ${S3_REACT_URL} retry=\${CLOUD_HTTPS_PROXY_RETRY} keepalive=\${CLOUD_HTTPS_PROXY_KEEPALIVE} nocanon ProxyPassReverse ${S3_REACT_URL} </Location> <Location /static/js/ > ProxyPreserveHost Off ProxyPass ${S3_REACT_JS_URL} retry=\${CLOUD_HTTPS_PROXY_RETRY} keepalive=\${CLOUD_HTTPS_PROXY_KEEPALIVE} nocanon ProxyPassReverse ${S3_REACT_JS_URL} </Location> <Location /static/css/ > ProxyPreserveHost Off ProxyPass ${S3_REACT_CSS_URL} retry=\${CLOUD_HTTPS_PROXY_RETRY} keepalive=\${CLOUD_HTTPS_PROXY_KEEPALIVE} nocanon ProxyPassReverse ${S3_REACT_CSS_URL} </Location> <Location /static/media/ > ProxyPreserveHost Off ProxyPass ${S3_REACT_MEDIA_URL} retry=\${CLOUD_HTTPS_PROXY_RETRY} keepalive=\${CLOUD_HTTPS_PROXY_KEEPALIVE} nocanon ProxyPassReverse ${S3_REACT_MEDIA_URL} </Location> 进行串联。而是尝试使用||函数:

CONCAT

请注意,可能有一种方法可以执行此操作而不生成文本更新语句,而是编写直接更新。