PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL में डॉलर-उद्धृत स्ट्रिंग में $$ डालें

भिन्न डॉलर-कोट्स इसके बजाय:

select upsert(
   $unique_token$INSERT INTO zz(a, b) VALUES (66, 'ha$$hahaha')$unique_token$,
   $unique_token2$UPDATE zz SET a=66, b='hahahaha' WHERE a=66$unique_token2$
   )

प्रत्येक छोर को प्रत्येक शुरुआत से मेल खाना चाहिए। जरूरी नहीं कि दोनों जोड़े अलग हों, लेकिन यह इस तरह से सबसे सुरक्षित है।

यह अभी भी एक सैद्धांतिक मौका छोड़ता है कि डॉलर-उद्धरण का मिलान स्ट्रिंग के अंदर किया जा सकता है।

यदि आप क्वेरी को हाथ से बना रहे हैं, तो बस $ . की जांच करें स्ट्रिंग में। यदि आप चर से क्वेरी बना रहे हैं, तो आप quote_literal(querystring) इसके बजाय।

सुविधाजनक format() समारोह।

देखें:

इसके अलावा:मुझे लगता है कि आप जानते हैं कि गतिशील एसक्यूएल का यह रूप एसक्यूएल इंजेक्शन के लिए बेहद कमजोर है? इस प्रकार की कोई भी चीज़ केवल बहुत ही निजी या बहुत सुरक्षित उपयोग के लिए होनी चाहिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या PostgreSQL के लिए psycopg2 या sqlalchemy से VACUUM ANALYZE <tablename> जारी करना संभव है?

  2. सबक्वेरी खराब प्रदर्शन के साथ PostgreSQL IN ऑपरेटर

  3. pg_query_params रिटर्न एरर:बाइंड मैसेज 2 पैरामीटर की आपूर्ति करता है, लेकिन तैयार स्टेटमेंट के लिए 1 की आवश्यकता होती है

  4. विंडोज के लिए पोस्टग्रेएसक्यूएल विकसित करना, भाग 2

  5. ऐसे रिकॉर्ड खोजें जहां शामिल हों मौजूद नहीं है