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

पर्ल से MysQL में डेटा सम्मिलित करना

$db_config . का आपका उपयोग चर मुझे संदिग्ध लग रहा है। या तो आपका कॉन्फ़िगरेशन हैश अजीब है, या आप कुंजियों के बजाय मानों का उपयोग कर रहे हैं।

आपने हमें यह नहीं दिखाया है कि $db_config . कहां है सेट अप है, लेकिन मुझे लगता है कि यह कुछ इस तरह दिखता है:

$db_config = {
  name => 'Top_Data',
  host => '127.0.0.1',
  port => 3306,
  username => 'someone',
  password => 'a secret',
};

और फिर आप इसे इस तरह इस्तेमाल करेंगे:

my $dsn = "DBI:mysql:database=".$db_config->{name}.";host=".$db_config->{host}.";port=".$db_config->{port};

ध्यान दें कि मैंने मुख्य नामों का उपयोग किया है (name , host और port ) मानों के बजाय (Top_Data , 127.0.0.1 और 3306 )।

मैं यह भी बताऊंगा कि डबल-उद्धृत स्ट्रिंग के अंदर चर का विस्तार करने की पर्ल की क्षमता का उपयोग करके आप इसे थोड़ा सरल बना सकते हैं।

my $dsn = "DBI:mysql:database=$db_config->{name};host=$db_config->{host};port=$db_config->{port}";

बाद में आपके SQL कथन के साथ एक और समस्या है।

my $sql = 'insert into Top(Load_Average, CPU_us, CPU_id, CPU-wa, CPU_hi, 
           CPU_si, CPU_st, Swap_Total, Swap_Free, Swap_Used, Memory_Total, 
           Memeory_Free, Memory_Used, Memory_Buff, Date) 
           values(float,float,float,float,float,float,float,float,
           varchar,varchar,varchar,varchar,varchar,varchar,date)';

आपको जो मान डालने चाहिए, वे वास्तविक डेटा आइटम हैं। तो जहां आपके पास "फ्लोट", "वर्कर" या "डेट" तार हैं, आपके पास वास्तव में डेटा आइटम (एक फ़्लोटिंग-पॉइंट नंबर, एक स्ट्रिंग या दिनांक) होना चाहिए।

अंत में, अपना विवरण तैयार करने के बाद, आपको इसे execute() . पर भेजने की आवश्यकता नहीं है तरीका। हालाँकि, आपको अपने SQL में बाइंड पॉइंट्स का उपयोग करना चाहिए और अपने वास्तविक डेटा आइटम्स को execute() पर पास करना चाहिए। कॉल करें




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP mysql REGEXP तैयार विवरण

  2. MySQL के दो अलग-अलग पासवर्ड हैं?

  3. मैं MySQL में एक तस्वीर कैसे स्टोर करूं?

  4. Laravel 5 के साथ प्राथमिक कुंजी के रूप में UUID का उपयोग करना

  5. क्या कुल MySQL फ़ंक्शन हमेशा एक पंक्ति लौटाते हैं?