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

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

10
เมื่อใดควรใช้ STRAIGHT_JOIN กับ MySQL
ฉันมีคำถามที่ค่อนข้างซับซ้อนที่ฉันกำลังทำงานอยู่และใช้เวลา 8 วินาทีในการเรียกใช้ EXPLAIN แสดงลำดับตารางแปลก ๆ และดัชนีของฉันไม่ได้ถูกใช้ทั้งหมดแม้จะมีคำใบ้ FORCE INDEX ก็ตาม ฉันเจอคีย์เวิร์ดเข้าร่วม STRAIGHT_JOIN และเริ่มแทนที่คีย์เวิร์ด INNER JOIN บางคำด้วยคีย์เวิร์ด ฉันสังเกตเห็นการปรับปรุงความเร็วอย่างมาก ในที่สุดฉันก็แทนที่คำหลัก INNER JOIN ทั้งหมดของฉันด้วย STRAIGHT_JOIN สำหรับคำค้นหานี้และตอนนี้มันทำงานใน. 01 วินาที คำถามของฉันคือคุณใช้ STRAIGHT_JOIN เมื่อใดและคุณใช้ INNER JOIN เมื่อใด มีเหตุผลใดบ้างที่จะไม่ใช้ STRAIGHT_JOIN หากคุณเขียนข้อความค้นหาที่ดี
88 mysql  join 

7
จะนำเข้าไฟล์ csv ไปยัง MySQL workbench ได้อย่างไร?
ฉันมีไฟล์ CSV มีข้อมูล 1.4 ล้านแถวดังนั้นฉันจึงไม่สามารถเปิดไฟล์ csv นั้นใน Excel ได้เนื่องจากขีด จำกัด คือประมาณ 1 ล้านแถว ดังนั้นฉันต้องการนำเข้าไฟล์นี้ใน MySQL workbench ไฟล์ csv นี้มีคอลัมน์เช่น "Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type" ฉันกำลังพยายามสร้างตารางใน MySQL workbench ที่มีชื่อว่า "dummy" ที่มีคอลัมน์เช่น ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp. ไฟล์ CSV model.csvเป็นชื่อ รหัสของฉันในโต๊ะทำงานเป็นดังนี้: LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by …
88 mysql  csv  import 

30
หลังจากติดตั้ง MySQL ผ่าน Brew ฉันได้รับข้อผิดพลาด - เซิร์ฟเวอร์หยุดทำงานโดยไม่อัปเดตไฟล์ PID
โอเคฉันค้นหาจนหมดแล้วและใช้เวลาพอสมควรในการติดตั้งถอนการติดตั้งลองใช้ตัวเลือกต่างๆ แต่ไม่ประสบความสำเร็จ ฉันใช้ Mac OS X Lion (10.7.3) และกำลังพยายามตั้งค่า Python, MySQL ฉันติดตั้ง Python และ MySQL สำเร็จผ่าน HomeBrew Python ทำงานได้ดี หลังจากการติดตั้ง MySQL ฉันทำตาม 2 ขั้นตอนแรก - ยกเลิกการตั้งค่าและmysql_install_dbคำสั่ง ตอนนี้เมื่อฉันพยายามเริ่ม mysql "mysql.server start" ฉันได้รับข้อผิดพลาดดังต่อไปนี้ ERROR! The server quit without updating PID file (/usr/local/var/mysql/Brajeshwar.local.pid). Brajeshwar เป็นชื่อผู้ใช้ของฉันบนเครื่องของฉัน
88 mysql  homebrew 

7
คุณจะล้างแบบสอบถาม MySQL ที่ไม่ได้ดำเนินการออกจากบรรทัดคำสั่งได้อย่างไร
สมมติว่าคุณกำลังพิมพ์แบบสอบถามบรรทัดคำสั่งลงในฐานข้อมูล MySQL และคุณต้องยกเลิกและเริ่มต้นใหม่ จาก bash shell คุณสามารถพิมพ์ ctrl-c แล้วรับพรอมต์ใหม่ ใน MySQL ctrl-c จะออกจากไคลเอนต์และส่งคุณกลับไปที่เชลล์ ตัวอย่างเช่นฉันมีคำสั่ง SELECT ที่ซับซ้อนและยาวพิมพ์ลงไป แต่ฉันยังไม่ได้กด return ฉันรู้ว่าฉันไม่ต้องการส่งคำสั่ง แต่ฉันต้องการให้มีคำสั่งบนหน้าจอเพื่อที่ฉันจะได้ใช้เป็นข้อมูลอ้างอิง ฉันต้องการประกันตัวโดยไม่ออกจาก MySQL ความคิดใด ๆ ? จุดสำคัญ: คำสั่งยังไม่ได้รับการดำเนินการ

8
วิธีหาขนาดของดัชนีใน MySQL
ฉันต้องการกำหนดขนาดของดัชนีของฉันซึ่งเป็นดัชนีคีย์หลัก สิ่งนี้เกิดขึ้นบนคลัสเตอร์ mysql แต่ฉันไม่คิดว่ามันสำคัญ
88 mysql 

7
mysql อัปเดตหลายคอลัมน์ด้วยตอนนี้ ()
ฉันต้องการอัปเดต 2 คอลัมน์วันที่และเวลาและฉันต้องการให้มันเหมือนกันทุกประการโดยใช้ mysql เวอร์ชัน 4.1.20 ฉันใช้แบบสอบถามนี้: mysql> update table set last_update=now(), last_monitor=now() where id=1; มันมีความปลอดภัยหรือมีโอกาสที่คอลัมน์ที่มีการอัปเดตด้วยเวลาที่แตกต่างกันเพราะการมองเห็นสาย 2 ไปnow()? ฉันไม่คิดว่าจะสามารถอัปเดตด้วยค่าที่แตกต่างกันได้ (ฉันคิดว่าการโทรภายใน mysql now()เพียงครั้งเดียวต่อแถวหรือสิ่งที่คล้ายกัน) แต่ฉันไม่ใช่ผู้เชี่ยวชาญคุณคิดอย่างไร? ปรับปรุง: คำถามที่สองถูกสกัดที่นี่
88 mysql  sql-update 

5
การป้องกันการแทรก SQL ใน Node.js
เป็นไปได้หรือไม่ที่จะป้องกันการแทรก SQL ใน Node.js (โดยเฉพาะอย่างยิ่งกับโมดูล) ในลักษณะเดียวกับที่ PHP มีคำสั่งที่เตรียมไว้ซึ่งป้องกันพวกเขา ถ้าเป็นเช่นนั้นอย่างไร? หากไม่เป็นเช่นนั้นตัวอย่างใดบ้างที่อาจข้ามรหัสที่ฉันให้ไว้ (ดูด้านล่าง) บริบทบางส่วน: ฉันกำลังสร้างเว็บแอปพลิเคชันที่มี back-end stack ซึ่งประกอบด้วย Node.js + MySql โดยใช้โมดูลnode-mysql จากมุมมองด้านการใช้งานโมดูลนี้ยอดเยี่ยมมาก แต่ยังไม่ได้ใช้บางสิ่งที่คล้ายกับคำสั่งเตรียมการของ PHP (แม้ว่าฉันจะทราบว่าเป็นสิ่งที่ต้องทำ ) จากความเข้าใจของฉันการใช้ PHP ของคำสั่งที่เตรียมไว้เหนือสิ่งอื่นใดช่วยอย่างมากในการป้องกันการแทรก SQL อย่างไรก็ตามฉันกังวลว่าแอป node.js ของฉันอาจเปิดรับการโจมตีที่คล้ายกันแม้ว่าจะมีการหลีกเลี่ยงสตริงที่ให้ไว้โดยค่าเริ่มต้นก็ตาม (ดังในข้อมูลโค้ดด้านล่าง) node-mysql ดูเหมือนจะเป็นตัวเชื่อมต่อ mysql ที่ได้รับความนิยมมากที่สุดสำหรับ node.js ดังนั้นฉันจึงสงสัยว่าคนอื่นอาจทำอะไร (ถ้ามี) เพื่ออธิบายปัญหานี้ - หรือแม้ว่าจะเป็นปัญหากับ node.js ที่จะเริ่มต้นด้วย (ไม่แน่ใจว่าจะไม่เป็นเช่นไรเนื่องจากอินพุตฝั่งผู้ใช้ / ไคลเอ็นต์เกี่ยวข้อง) ฉันควรเปลี่ยนไปใช้node-mysql-nativeในขณะนี้เนื่องจากมีคำสั่งที่เตรียมไว้หรือไม่ ฉันลังเลที่จะทำสิ่งนี้เพราะดูเหมือนว่าจะไม่ทำงานเท่า …

13
ลิงก์โครงการไม่ทำงานบนเซิร์ฟเวอร์ Wamp
ฉันกำลังติดตั้ง Wamp Server บนคอมพิวเตอร์เครื่องอื่นเพื่อเรียกใช้ฐานข้อมูลและ UI ขนาดกลาง ฉันประสบความสำเร็จในการบล็อก IIS และกำหนดเส้นทางเซิร์ฟเวอร์ไปยัง Localhost: 8080 แต่เมื่อใดก็ตามที่ฉันพยายามเข้าถึงโครงการของฉันจากโฮมเพจ localhost ในไฟล์ www; ฉันได้รับการเปลี่ยนเส้นทางไปยังหน้าไม่พบข้อผิดพลาด เมื่อฉันวางเมาส์เหนือลิงก์ไดเรกทอรีจะปรากฏขึ้น "http: // ProjectFolderNameHere /" เสมอ เมื่อมันควรจะเป็น "http: // LocalHost: 8080 / ProjectFolderNameHere /" ฉันจะทำอย่างไรเพื่อให้ลิงก์ทำงานอย่างถูกต้อง เครื่องของฉันทำงานบน Windows 7 Home Edition 64 บิตและฉันปิดใช้งาน IIS ของ Microsoft แล้ว
88 php  mysql  apache  wamp  wampserver 

6
จะเชื่อมต่อกับฐานข้อมูล MySQL ได้อย่างไร?
ฉันใหม่มากสำหรับการเขียนโปรแกรม C # แต่ต้องการเข้าถึงฐานข้อมูล MySQL (ไม่มีเงินสำหรับ MS SQL) อย่างไรก็ตามฉันมีคำถามหนึ่งข้อ ฉันรู้ว่าคุณจำเป็นต้องมี "MySQL connector / NET" และ "MySQL for Visual Studio" เพื่อพัฒนาแอปพลิเคชัน C # แต่ผู้ที่ติดตั้งแอปพลิเคชันนั้นต้องการด้วยหรือไม่ (เป็นไปได้ไหมที่ฉันจะปล่อยตัวเชื่อมต่อ DLL ด้วยโปรแกรม) ขอบคุณ แก้ไข: ทั้งคู่จำเป็นสำหรับผู้ใช้ปลายทางหรือเพียงแค่ตัวเชื่อมต่อ? มีอะไรอีกไหมที่พวกเขาต้องการ?

9
MySQL และ PHP - ใส่ NULL แทนที่จะเป็นสตริงว่าง
ฉันมีคำสั่ง MySQL ที่แทรกตัวแปรบางตัวลงในฐานข้อมูล ฉันเพิ่งเพิ่ม 2 ช่องซึ่งเป็นทางเลือก ($ intLat, $ intLng) ตอนนี้หากไม่ได้ป้อนค่าเหล่านี้ฉันจะส่งผ่านสตริงว่างเป็นค่า ฉันจะส่งค่า NULL อย่างชัดเจนไปยัง MySQL ได้อย่างไร (ถ้าว่างเปล่า) $query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', '$intLat', '$intLng')"; mysql_query($query);
88 php  mysql  null  sql-insert 

5
จะเขียนคำสั่ง IF ELSE ในแบบสอบถาม MySQL ได้อย่างไร
ฉันจะเขียนคำสั่ง IF ELSE ในแบบสอบถาม MySQL ได้อย่างไร สิ่งนี้: mysql_query("...(irrelevant code).. IF(action==2&&state==0){state=1}"); จากนั้นลงในอาร์เรย์ของฉันฉันควรจะทำได้: $row['state'] //this should equal 1, the query should not change anything in the database, //just the variable for returning the information

4
จะลบจากการเลือกใน MySQL ได้อย่างไร?
รหัสนี้ใช้ไม่ได้กับ MySQL 5.0 วิธีการเขียนใหม่เพื่อให้ใช้งานได้ DELETE FROM posts where id=(SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )) ฉันต้องการลบคอลัมน์ที่ไม่มีรหัสเฉพาะ ฉันจะเพิ่มว่าส่วนใหญ่แล้วมันมีเพียง id เดียว (ฉันลองใช้ไวยากรณ์แล้วมันก็ใช้ไม่ได้เช่นกัน)

4
การใช้งาน SQL Server 2005 ของ MySQL REPLACE INTO?
MySQL มีREPLACE INTOคำสั่ง SQL ที่มีประโยชน์อย่างเหลือเชื่อ แต่เป็นกรรมสิทธิ์ สิ่งนี้สามารถจำลองได้อย่างง่ายดายใน SQL Server 2005 หรือไม่? การเริ่มต้นธุรกรรมใหม่การทำSelect()และหลังจากนั้นอย่างใดอย่างหนึ่งUPDATEหรือINSERTและCOMMITมักจะเจ็บปวดเล็กน้อยโดยเฉพาะอย่างยิ่งเมื่อทำในแอปพลิเคชันดังนั้นจึงต้องเก็บคำสั่ง 2 เวอร์ชันไว้เสมอ ฉันสงสัยว่ามีวิธีที่ง่ายและเป็นสากลในการนำฟังก์ชันดังกล่าวไปใช้ใน SQL Server 2005 หรือไม่?

10
ทำซ้ำ / คัดลอกระเบียนในตาราง MySQL เดียวกัน
ฉันมองหามาระยะหนึ่งแล้ว แต่ฉันไม่สามารถหาวิธีง่ายๆสำหรับปัญหาของฉันได้ ฉันต้องการทำซ้ำระเบียนในตาราง แต่แน่นอนว่าต้องอัปเดตคีย์หลักที่ไม่ซ้ำกัน ฉันมีคำถามนี้: INSERT INTO invoices SELECT * FROM invoices AS iv WHERE iv.ID=XXXXX ON DUPLICATE KEY UPDATE ID = (SELECT MAX(ID)+1 FROM invoices) ปัญหาคือสิ่งนี้เพียงแค่เปลี่ยนIDแถวแทนที่จะคัดลอกแถว ไม่มีใครรู้วิธีแก้ไขปัญหานี้? // แก้ไข: ฉันต้องการดำเนินการนี้โดยไม่ต้องพิมพ์ชื่อเขตข้อมูลทั้งหมดเนื่องจากชื่อเขตข้อมูลสามารถเปลี่ยนแปลงได้ตลอดเวลา
87 mysql 

19
รหัสผ่าน Mysql หมดอายุ ไม่สามารถเชื่อมต่อ
ฉันเพิ่งเช็ด Mac และทำการติดตั้ง El Capitan ใหม่ ตอนนี้ฉันกำลังดิ้นรนเพื่อเชื่อมต่อกับ Mysql หลังจากผ่านขั้นตอนการตั้งค่าเว็บเซิร์ฟเวอร์ฉันได้สร้างไฟล์ทดสอบ PHP ง่ายๆ: <?php $conn = new mysqli("127.0.0.1", "root", "xxxxxxxx"); if ($conn->connect_error) echo "Connection failed: " . $conn->connect_error; else echo "Connected successfully"; phpinfo(); ?> เมื่อฉันเรียกใช้ฉันได้รับข้อผิดพลาดนี้: Warning: mysqli::mysqli(): (HY000/1862): Your password has expired. To log in you must change it using a client …

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