คำถามติดแท็ก mysql

MySQL เป็นโอเพ่นซอร์สระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) ที่ใช้ภาษาคิวรีเชิงโครงสร้าง (SQL) ห้ามใช้แท็กนี้สำหรับฐานข้อมูลอื่น ๆ เช่น SQL Server, SQLite เป็นต้นฐานข้อมูลเหล่านี้เป็นฐานข้อมูลที่แตกต่างกันซึ่งทั้งหมดใช้ภาษาของ SQL เพื่อจัดการข้อมูล

6
ฉันจะป้องกันชื่อผู้ใช้และรหัสผ่าน MySQL จากการถอดรหัสได้อย่างไร
.classไฟล์Java สามารถถอดรหัสได้ค่อนข้างง่าย ฉันจะป้องกันฐานข้อมูลของฉันได้อย่างไรหากต้องใช้ข้อมูลล็อกอินในรหัส

10
มีกี่แถวในฐานข้อมูลที่มากเกินไป?
ฉันมีตาราง MySQL InnoDB ที่มีข้อมูล 1,000,000 รายการ นี่มันมากเกินไปหรือเปล่า? หรือฐานข้อมูลสามารถจัดการสิ่งนี้และอื่น ๆ ได้? ฉันถามเพราะฉันสังเกตเห็นว่าบางคำค้นหา (เช่นการรับแถวสุดท้ายจากตาราง) นั้นช้ากว่า (วินาที) ในตารางโดยมี 1 ล้านแถวมากกว่าในหนึ่งที่มี 100

9
MySQL ลบจากแบบสอบถามย่อยเป็นเงื่อนไข
ฉันกำลังพยายามทำแบบสอบถามดังนี้: DELETE FROM term_hierarchy AS th WHERE th.parent = 1015 AND th.tid IN ( SELECT DISTINCT(th1.tid) FROM term_hierarchy AS th1 INNER JOIN term_hierarchy AS th2 ON (th1.tid = th2.tid AND th2.parent != 1015) WHERE th1.parent = 1015 ); อย่างที่คุณบอกได้ฉันต้องการลบความสัมพันธ์ผู้ปกครองกับ 1015 หาก tid เดียวกันมีผู้ปกครองอื่น อย่างไรก็ตามนั่นทำให้ฉันมีข้อผิดพลาดทางไวยากรณ์: You have an error in your …

10
รหัสข้อผิดพลาด 1292 - ค่า DOUBLE ที่ถูกตัดทอนไม่ถูกต้อง - Mysql
ฉันไม่แน่ใจว่านี่คือข้อผิดพลาดอะไร! #1292 - Truncated incorrect DOUBLE value: ฉันไม่มีฟิลด์หรือข้อมูลค่าสองเท่า! ฉันเสียเวลาทั้งชั่วโมงในการพยายามคิดออก! นี่คือคำถามของฉัน INSERT INTO call_managment_system.contact_numbers (account_id, contact_number, contact_extension, main_number, created_by) SELECT ac.account_id, REPLACE(REPLACE(REPLACE(REPLACE(ta.phone_number, '-', ''), ' ', ''), ')', ''),'(','') AS Phone, IFNULL(ta.ext, '') AS extention, '1' AS MainNumber, '2' AS created_by FROM cvsnumbers AS ta INNER JOIN accounts AS ac ON …

5
เมื่อใดควรปิดเคอร์เซอร์โดยใช้ MySQLdb
ฉันกำลังสร้างเว็บแอป WSGI และมีฐานข้อมูล MySQL ฉันใช้ MySQLdb ซึ่งมีเคอร์เซอร์สำหรับดำเนินการคำสั่งและรับผลลัพธ์ แนวปฏิบัติมาตรฐานในการรับและปิดเคอร์เซอร์คืออะไร? โดยเฉพาะเคอร์เซอร์ของฉันควรอยู่ได้นานแค่ไหน? ฉันควรได้รับเคอร์เซอร์ใหม่สำหรับแต่ละธุรกรรมหรือไม่? ฉันเชื่อว่าคุณต้องปิดเคอร์เซอร์ก่อนที่จะทำการเชื่อมต่อ มีข้อได้เปรียบที่สำคัญในการค้นหาชุดธุรกรรมที่ไม่ต้องใช้การคอมมิชชันกลางเพื่อที่คุณจะได้ไม่ต้องรับเคอร์เซอร์ใหม่สำหรับแต่ละธุรกรรมหรือไม่? มีค่าใช้จ่ายจำนวนมากสำหรับการรับเคอร์เซอร์ใหม่หรือไม่ใช่เรื่องใหญ่?

5
การเพิ่ม 'LIMIT 1' ในการสืบค้น MySQL ทำให้เร็วขึ้นเมื่อคุณรู้ว่าจะมีผลลัพธ์เพียง 1 รายการหรือไม่?
เมื่อฉันเพิ่ม LIMIT 1 ลงในแบบสอบถาม MySQL จะหยุดการค้นหาหรือไม่หลังจากพบผลลัพธ์ 1 รายการ (ทำให้เร็วขึ้น) หรือยังคงดึงผลลัพธ์ทั้งหมดและตัดทอนในตอนท้าย?

9
สูงสุด (ความยาว (ฟิลด์)) ใน mysql
ถ้าฉันพูดว่า: select max(length(Name)) from my_table ฉันได้ผลลัพธ์เป็น 18 แต่ฉันต้องการข้อมูลที่เกี่ยวข้องด้วย ดังนั้นถ้าฉันพูดว่า: select max(length(Name)), Name from my_table ...มันไม่ทำงาน. ควรจะมีการเข้าร่วมด้วยตนเองซึ่งฉันคิดไม่ออก ใครช่วยแจ้งเบาะแสให้หน่อยได้ไหม
86 sql  mysql 

5
MySQL เชื่อมต่อสองคอลัมน์
มีสองคอลัมน์ในตาราง MySQL: SUBJECTและYEAR. ฉันต้องการสร้างหมายเลขเฉพาะที่เป็นตัวอักษรและตัวเลขซึ่งเก็บข้อมูลที่ต่อกันจาก SUBJECT และ YEAR ฉันจะทำเช่นนี้ได้อย่างไร? เป็นไปได้ไหมที่จะใช้ตัวดำเนินการง่ายๆเช่น+?
86 php  mysql  sql 

10
ไม่สามารถแปลงค่าวันที่ / เวลา MySQL เป็น System.DateTime
ฉันได้รับข้อผิดพลาดนี้: ไม่สามารถแปลงค่าวันที่ / เวลา MySQL เป็น System.DateTime ในขณะที่ฉันพยายามดึงข้อมูลจากฐานข้อมูล MySQL ฉันมีประเภทข้อมูลวันที่ในฐานข้อมูล MySQL แต่ในขณะที่ดึงข้อมูลลงใน datatable ของฉันได้รับข้อผิดพลาดข้างต้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

3
ฉันจะทราบได้อย่างไรว่าตาราง mysql ใช้ myISAM หรือ InnoDB Engine
ใน MySQL ไม่มีวิธีระบุเครื่องมือจัดเก็บข้อมูลสำหรับฐานข้อมูลเฉพาะสำหรับตารางเดียวเท่านั้น อย่างไรก็ตามคุณสามารถระบุเครื่องมือจัดเก็บข้อมูลที่จะใช้ในช่วงหนึ่งเซสชันด้วย: SET storage_engine=InnoDB; ดังนั้นคุณไม่จำเป็นต้องระบุสำหรับแต่ละตาราง ฉันจะยืนยันได้อย่างไรว่าตารางทั้งหมดใช้ InnoDB จริงหรือไม่?

20
ความแตกต่างของเดือนระหว่างวันที่ใน MySQL
ฉันต้องการคำนวณจำนวนเดือนระหว่างช่องวันที่ 2 ช่อง มีวิธีที่ดีกว่าการใช้การประทับเวลาแบบยูนิกซ์และการหารด้วย 2602,000 (วินาที) และการปัดเศษใน MySQL หรือไม่?

7
การสร้างรายการสำหรับใช้ใน python MySQLDB IN clause
ฉันรู้วิธีแมปรายการกับสตริง: foostring = ",".join( map(str, list_of_ids) ) และฉันรู้ว่าฉันสามารถใช้สิ่งต่อไปนี้เพื่อทำให้สตริงนั้นเป็นประโยค IN: cursor.execute("DELETE FROM foo.bar WHERE baz IN ('%s')" % (foostring)) สิ่งที่ฉันต้องการคือทำสิ่งเดียวกันให้สำเร็จ (หลีกเลี่ยงการฉีด SQL) โดยใช้ MySQLDB ในตัวอย่างข้างต้นเนื่องจากไม่ได้ส่ง foostring เป็นอาร์กิวเมนต์เพื่อดำเนินการจึงมีช่องโหว่ ฉันยังต้องพูดและหนีออกนอกไลบรารี mysql (มีคำถาม SO ที่เกี่ยวข้องแต่คำตอบที่แสดงในนั้นไม่สามารถใช้ได้กับ MySQLDB หรือเสี่ยงต่อการแทรก SQL)
86 python  mysql 

6
ฉันจะใช้ออบเจ็กต์ PDO อย่างเหมาะสมสำหรับคิวรี SELECT ที่กำหนดพารามิเตอร์ได้อย่างไร
ฉันได้ลองทำตามคำแนะนำของ PHP.net ในการทำSELECTแบบสอบถามแล้ว แต่ฉันไม่แน่ใจว่าจะทำอย่างไรดีที่สุด ฉันต้องการใช้SELECTแบบสอบถามที่กำหนดพารามิเตอร์หากเป็นไปได้เพื่อส่งคืนIDในตารางที่nameฟิลด์ตรงกับพารามิเตอร์ สิ่งนี้ควรคืนค่าหนึ่งIDเนื่องจากจะไม่ซ้ำกัน จากนั้นฉันต้องการใช้IDเป็นINSERTตารางอื่นดังนั้นฉันจะต้องพิจารณาว่าสำเร็จหรือไม่ ฉันอ่านด้วยว่าคุณสามารถเตรียมแบบสอบถามเพื่อนำกลับมาใช้ใหม่ได้ แต่ฉันไม่แน่ใจว่าจะช่วยได้อย่างไร
85 php  mysql  select  pdo 

3
วิธีที่ดีที่สุดในการเขียนโค้ดระบบ Achievements
ฉันกำลังคิดหาวิธีที่ดีที่สุดในการออกแบบระบบรางวัลพิเศษสำหรับใช้บนไซต์ของฉัน โครงสร้างฐานข้อมูลสามารถพบได้ในวิธีที่ดีที่สุดในการบอกระเบียนติดต่อกัน 3 รายการขึ้นไปที่ขาดหายไปและเธรดนี้เป็นส่วนเสริมในการรับแนวคิดจากนักพัฒนา ปัญหาที่ฉันมีจากการพูดคุยมากมายเกี่ยวกับระบบตรา / รางวัลพิเศษบนเว็บไซต์นี้มีเพียงแค่นั้น - ทั้งหมดนี้เป็นการพูดคุยและไม่มีรหัส ตัวอย่างการติดตั้งโค้ดจริงอยู่ที่ไหน ฉันเสนอการออกแบบที่ฉันหวังว่าผู้คนจะมีส่วนร่วมและหวังว่าจะสร้างการออกแบบที่ดีสำหรับการเข้ารหัสระบบความสำเร็จที่ขยายได้ ฉันไม่ได้บอกว่านี่เป็นสิ่งที่ดีที่สุดไกลจากมัน แต่มันเป็นช่วงเริ่มต้นที่เป็นไปได้ โปรดอย่าลังเลที่จะให้ความคิดของคุณ แนวคิดการออกแบบระบบของฉัน ดูเหมือนว่าฉันทามติทั่วไปคือการสร้าง "ระบบตามเหตุการณ์" - เมื่อใดก็ตามที่เหตุการณ์ที่ทราบเกิดขึ้นเช่นมีการสร้างโพสต์ลบ ฯลฯ จะเรียกคลาสเหตุการณ์เช่นนั้น .. $event->trigger('POST_CREATED', array('id' => 8)); จากนั้นคลาสกิจกรรมจะค้นหาว่าป้ายใด "กำลังฟัง" สำหรับกิจกรรมนี้จากนั้นจึงเป็นrequiresไฟล์นั้นและสร้างอินสแตนซ์ของคลาสนั้นดังนี้: require '/badges/' . $file; $badge = new $class; จากนั้นจะเรียกเหตุการณ์เริ่มต้นที่ส่งผ่านข้อมูลที่ได้รับเมื่อtriggerถูกเรียก $badge->default_event($data); ป้าย นี่คือที่ที่เวทมนตร์ที่แท้จริงเกิดขึ้น ป้ายแต่ละป้ายมีคำถาม / ตรรกะของตัวเองเพื่อพิจารณาว่าควรได้รับป้ายหรือไม่ แต่ละป้ายกำหนดไว้ในรูปแบบเช่นนี้: class Badge_Name extends Badge { …

2
PHP + PDO + MySQL: ฉันจะส่งคืนคอลัมน์จำนวนเต็มและตัวเลขจาก MySQL เป็นจำนวนเต็มและตัวเลขใน PHP ได้อย่างไร
ฉันเคยเห็นคำถามนี้ซ้ำสองสามครั้งใน Stack Overflow แต่ไม่มีการสำรวจปัญหาอย่างเพียงพอ (หรืออย่างน้อยก็ในทางที่เป็นประโยชน์สำหรับฉัน) ปัญหาคือแบบสอบถาม DB ควรส่งคืนชนิดข้อมูลจำนวนเต็มใน PHP สำหรับคอลัมน์จำนวนเต็ม แต่แบบสอบถามจะส่งกลับทุกคอลัมน์เป็นประเภทสตริง ฉันมั่นใจว่า "PDO :: ATTR_STRINGIFY_FETCHES" หากเป็นเท็จเพื่อให้แน่ใจว่าผลลัพธ์จะไม่ถูกส่งไปยังสตริง คำตอบที่ฉันเคยเห็น: มันไม่สามารถทำได้ ไม่ทำงานบน MacOS X ที่ติดตั้ง PHP / MySQL พิมพ์ cast ค่าทั้งหมดของคุณในโค้ดของคุณ ไม่ฉันจะไม่ทำอย่างนั้น ไม่ต้องกังวลไปเพราะ PHP พิมพ์แบบหลวม ๆ ข้อมูลของฉันถูกส่งออกเป็น JSON และถูกใช้โดยบริการอื่น ๆ จำนวนมากบางส่วนต้องการข้อมูลในรูปแบบที่ถูกต้อง จากการวิจัยของฉันฉันเข้าใจว่านี่เป็นปัญหาการใช้งานไดรเวอร์ แหล่งข้อมูลหลายแห่งอ้างว่าไดรเวอร์ MySQL เนทีฟไม่รองรับการส่งคืนประเภทตัวเลข สิ่งนี้ดูเหมือนจะไม่เป็นความจริงเนื่องจากทำงานบน Mac OS X เว้นแต่พวกเขาจะบอกว่า "ไดรเวอร์ MySQL เนทีฟบนLinuxไม่รองรับคุณสมบัตินี้" …
85 php  mysql  macos  ubuntu  pdo 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.