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

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

27
ดึงข้อมูลระเบียนสุดท้ายในแต่ละกลุ่ม - MySQL
มีตารางmessagesที่มีข้อมูลดังแสดงด้านล่าง: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 3 A A_data_3 4 B B_data_1 5 B B_data_2 6 C C_data_1 ถ้าฉันเรียกใช้คิวselect * from messages group by nameรีฉันจะได้ผลลัพธ์ดังนี้: 1 A A_data_1 4 B B_data_1 6 C C_data_1 แบบสอบถามใดจะส่งคืนผลลัพธ์ต่อไปนี้ 3 A A_data_3 5 B B_data_2 6 C C_data_1 นั่นคือบันทึกสุดท้ายในแต่ละกลุ่มควรส่งคืน …

11
เข้าร่วมภายในกับข้อที่
NOT NULLสำหรับความเรียบง่ายสมมติช่องที่เกี่ยวข้องทั้งหมดที่มี คุณทำได้: SELECT table1.this, table2.that, table2.somethingelse FROM table1, table2 WHERE table1.foreignkey = table2.primarykey AND (some other conditions) หรืออื่น ๆ: SELECT table1.this, table2.that, table2.somethingelse FROM table1 INNER JOIN table2 ON table1.foreignkey = table2.primarykey WHERE (some other conditions) ทั้งสองทำงานในลักษณะเดียวกันMySQLหรือไม่
941 sql  mysql  join  inner-join 

16
วิธีรับขนาดของตารางของฐานข้อมูล MySQL?
ฉันสามารถเรียกใช้แบบสอบถามนี้เพื่อรับขนาดของตารางทั้งหมดในฐานข้อมูล MySQL: show table status from myDatabaseName; ฉันต้องการความช่วยเหลือในการทำความเข้าใจผลลัพธ์ ฉันกำลังมองหาตารางที่มีขนาดใหญ่ที่สุด ฉันควรดูคอลัมน์ไหน
900 mysql 

25
คุณจะตั้งค่าเริ่มต้นสำหรับคอลัมน์ MySQL Datetime ได้อย่างไร?
คุณจะตั้งค่าเริ่มต้นสำหรับคอลัมน์ MySQL Datetime ได้อย่างไร? ใน SQL Server getdate()มัน อะไรคือสิ่งที่เทียบเท่ากับ MySQL? ฉันใช้ MySQL 5.x ถ้านั่นเป็นปัจจัย
898 mysql  datetime 

11
แทรกลงในตาราง MySQL หรืออัปเดตถ้ามี
ฉันต้องการเพิ่มแถวในตารางฐานข้อมูล แต่หากมีแถวที่มีคีย์เฉพาะเหมือนกันฉันต้องการอัปเดตแถว ตัวอย่างเช่น: insert into table (id, name, age) values(1, "A", 19) สมมติว่าคีย์ที่ไม่ซ้ำกันidและในของฉันฐานข้อมูลid = 1มีแถวที่มี ในกรณีนั้นฉันต้องการอัปเดตแถวนั้นด้วยค่าเหล่านี้ โดยปกติจะทำให้เกิดข้อผิดพลาด ถ้าฉันใช้insert IGNOREมันจะไม่สนใจข้อผิดพลาด แต่ก็ยังไม่อัปเดต

13
ฉันจะระบุข้อ จำกัด เฉพาะสำหรับหลายคอลัมน์ใน MySQL ได้อย่างไร
ฉันมีโต๊ะ: table votes ( id, user, email, address, primary key(id), ); ตอนนี้ฉันต้องการทำให้คอลัมน์ผู้ใช้อีเมลที่อยู่ไม่ซ้ำกัน (รวมกัน) ฉันจะทำสิ่งนี้ใน MySql ได้อย่างไร แน่นอนตัวอย่างเป็นเพียง ... ตัวอย่าง ดังนั้นโปรดอย่ากังวลเกี่ยวกับความหมาย

25
MyISAM กับ InnoDB [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันกำลังทำงานในโครงการที่เกี่ยวข้องกับการเขียนฐานข้อมูลจำนวนมากฉันจะบอกว่า ( แทรก 70% และอ่าน 30% ) อัตราส่วนนี้จะรวมการอัปเดตซึ่งฉันคิดว่าเป็นหนึ่งการอ่านและการเขียนหนึ่งครั้ง การอ่านอาจสกปรก (เช่นฉันไม่ต้องการข้อมูลที่ถูกต้อง 100% ณ เวลาที่อ่าน) งานที่มีปัญหาจะทำธุรกรรมฐานข้อมูลมากกว่า 1 ล้านรายการต่อชั่วโมง ฉันได้อ่านสิ่งต่าง ๆ บนเว็บเกี่ยวกับความแตกต่างระหว่าง MyISAM และ InnoDB และ MyISAM ดูเหมือนจะเป็นทางเลือกที่ชัดเจนสำหรับฉันสำหรับฐานข้อมูล / ตารางเฉพาะที่ฉันจะใช้สำหรับงานนี้ จากสิ่งที่ฉันอ่านหนังสือ InnoDB นั้นดีถ้าต้องการธุรกรรมเนื่องจากรองรับการล็อคระดับแถว ใครบ้างมีประสบการณ์กับโหลดประเภทนี้ (หรือสูงกว่า) หรือไม่? MyISAM เป็นวิธีที่จะไปไหม?

11
จะหาตารางทั้งหมดใน MySQL ที่มีชื่อคอลัมน์เฉพาะได้อย่างไร
ฉันมีชื่อคอลัมน์ที่แตกต่างกัน 2-3 รายการที่ฉันต้องการค้นหาในฐานข้อมูลทั้งหมดและแสดงรายการตารางทั้งหมดที่มีคอลัมน์เหล่านั้น มีสคริปต์ง่าย ๆ ไหม?

8
MySQL: VARCHAR ขนาดใหญ่เทียบกับ TEXT
ฉันมีตารางข้อความใน MySQL ที่บันทึกข้อความระหว่างผู้ใช้ นอกเหนือจากรหัสทั่วไปและประเภทข้อความ (ประเภทจำนวนเต็มทั้งหมด) ฉันต้องบันทึกข้อความจริงเป็น VARCHAR หรือ TEXT ฉันตั้งค่าขีด จำกัด front-end ของ 3000 ตัวอักษรซึ่งหมายความว่าข้อความจะไม่ถูกแทรกลงใน db นานกว่านี้ มีเหตุผลในการไปกับ VARCHAR (3000) หรือ TEXT หรือไม่? มีบางอย่างเกี่ยวกับการเขียนเพียง VARCHAR (3000) ที่ให้ความรู้สึกตอบโต้ได้ง่าย ฉันเคยผ่านการโพสต์อื่น ๆ ที่คล้ายกันใน Stack Overflow แต่จะเป็นการดีที่จะได้รับมุมมองเฉพาะสำหรับการจัดเก็บข้อความทั่วไปประเภทนี้
845 mysql  text  messages  varchar 

10
วิธีการ 'แทรกถ้าไม่มี' ใน MySQL?
ฉันเริ่มโดย googling และพบบทความนี้ที่พูดถึงตาราง mutex ฉันมีตารางที่มีประมาณ 14 ล้านเร็กคอร์ด หากฉันต้องการเพิ่มข้อมูลเพิ่มเติมในรูปแบบเดียวกันมีวิธีที่จะทำให้แน่ใจว่าระเบียนที่ฉันต้องการแทรกไม่มีอยู่แล้วโดยไม่ใช้คู่ของแบบสอบถาม (เช่นแบบสอบถามหนึ่งแบบสอบถามเพื่อตรวจสอบและหนึ่งแทรกเป็นชุดผลลัพธ์คือ ว่างเปล่า)? ที่ไม่uniqueจำกัด ในการรับประกันข้อมูลที่insertจะล้มเหลวถ้ามันมีอยู่แล้ว? ดูเหมือนว่ามีเพียงข้อ จำกัด เมื่อฉันออกแทรกผ่าน php สคริปต์ croaks

18
เข้าร่วมกับแบบสอบถามย่อย
ฉันเป็นผู้ใช้ MySQL สมัยก่อนและต้องการคำสั่งJOINย่อยมากกว่าเสมอ แต่ทุกวันนี้ทุกคนใช้คิวรีย่อยและฉันเกลียดมัน ฉันไม่รู้ว่าทำไม ฉันขาดความรู้ทางทฤษฎีที่จะตัดสินด้วยตัวเองหากมีความแตกต่างใด ๆ แบบสอบถามย่อยดีเท่าJOINและดังนั้นจึงไม่มีอะไรต้องกังวลใช่หรือไม่
837 sql  mysql  subquery  join 

11
“ INSERT IGNORE” เทียบกับ“ INSERT … ON DUPLICATE KEY UPDATE”
ในขณะที่ดำเนินการINSERTคำสั่งที่มีหลายแถวฉันต้องการข้ามรายการซ้ำที่อาจทำให้เกิดความล้มเหลว หลังจากการวิจัยบางอย่างตัวเลือกของฉันดูเหมือนจะใช้อย่างใดอย่างหนึ่ง: ON DUPLICATE KEY UPDATE ซึ่งแสดงถึงการปรับปรุงที่ไม่จำเป็นโดยเสียค่าใช้จ่ายหรือ INSERT IGNORE ซึ่งแสดงถึงคำเชิญสำหรับความล้มเหลวประเภทอื่น ๆ ที่จะแอบเข้ามาโดยไม่บอกกล่าว ฉันถูกต้องในสมมติฐานเหล่านี้หรือไม่ อะไรคือวิธีที่ดีที่สุดในการข้ามแถวที่อาจทำให้เกิดการซ้ำซ้อนและไปยังแถวอื่นต่อไป?
833 mysql  insert 

17
รหัสข้อผิดพลาดของ MySQL: 1175 ระหว่างการอัพเดทใน MySQL Workbench
ฉันพยายามอัปเดตคอลัมน์visitedเพื่อให้ค่า 1 ฉันใช้ MySQL workbench และฉันเขียนคำสั่งในตัวแก้ไข SQL จากภายใน workbench ฉันกำลังเขียนคำสั่งต่อไปนี้: UPDATE tablename SET columnname=1; มันทำให้ฉันมีข้อผิดพลาดต่อไปนี้: คุณกำลังใช้เซฟโหมดอัปเดตและคุณพยายามอัปเดตตารางโดยไม่มีตำแหน่งที่ใช้คอลัมน์คีย์เมื่อต้องการปิดใช้งานเซฟโหมดให้สลับตัวเลือก .... ผมทำตามคำแนะนำและผมจะไม่เลือกช่องsafe updateตัวเลือกจากEditเมนูแล้วนั้นPreferences SQL Editorข้อผิดพลาดเดียวกันยังคงปรากฏ & ฉันไม่สามารถอัปเดตค่านี้ ได้โปรดบอกฉันว่ามีอะไรผิดปกติ?

4
TINYTEXT, TEXT, MEDIUMTEXT และ LONGTEXT ขนาดการจัดเก็บสูงสุด
ตามเอกสารของ MySQLมี TEXT สี่ประเภท: TINYTEXT ข้อความ MEDIUMTEXT LONGTEXT ความยาวสูงสุดที่ฉันสามารถจัดเก็บในคอลัมน์ของแต่ละประเภทข้อมูลคืออะไรคือการเข้ารหัสอักขระ UTF-8
796 mysql  innodb 

24
ค้นหาค่าที่ซ้ำกันใน MySQL
ฉันมีตารางที่มีคอลัมน์ varchar และฉันต้องการค้นหาระเบียนทั้งหมดที่มีค่าซ้ำกันในคอลัมน์นี้ แบบสอบถามที่ดีที่สุดที่ฉันสามารถใช้เพื่อค้นหารายการที่ซ้ำกันคืออะไร
769 mysql 

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