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

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


7
SQL UPDATE ค่าทั้งหมดในฟิลด์ที่มีสตริงต่อท้าย CONCAT ไม่ทำงาน
นี่คือสิ่งที่ฉันต้องการจะทำ: ตารางปัจจุบัน: +----+-------------+ | id | data | +----+-------------+ | 1 | max | | 2 | linda | | 3 | sam | | 4 | henry | +----+-------------+ แบบสอบถามลึกลับ (บางอย่าง"UPDATE table SET data = CONCAT(data, 'a')") ตารางผลลัพธ์: +----+-------------+ | id | data | +----+-------------+ | 1 | maxa …

3
ข้อ จำกัด ที่สำคัญต่างประเทศ MySQL ลบน้ำตก
ฉันต้องการใช้กุญแจต่างประเทศเพื่อรักษาความสมบูรณ์และหลีกเลี่ยงเด็กกำพร้า (ฉันใช้ innoDB แล้ว) ฉันจะสร้างสถานะ SQL ที่ลบบนแบบเรียงซ้อนได้อย่างไร หากฉันลบหมวดหมู่ฉันจะแน่ใจได้อย่างไรว่าจะไม่ลบหมวดหมู่ที่เกี่ยวข้องกับหมวดหมู่อื่น ตารางเดือย "categories_products" สร้างความสัมพันธ์แบบกลุ่มต่อกลุ่มระหว่างสองตารางอื่น ๆ categories - id (INT) - name (VARCHAR 255) products - id - name - price categories_products - categories_id - products_id

9
ข้อผิดพลาด“ ค่าสตริงไม่ถูกต้อง” MySQL เมื่อบันทึกสตริงยูนิโค้ดใน Django
ฉันได้รับข้อความแสดงข้อผิดพลาดแปลก ๆ เมื่อพยายามบันทึก first_name, last_name ไปยังโมเดล auth_user ของ Django ตัวอย่างที่ล้มเหลว user = User.object.create_user(username, email, password) user.first_name = u'Rytis' user.last_name = u'Slatkevičius' user.save() >>> Incorrect string value: '\xC4\x8Dius' for column 'last_name' at row 104 user.first_name = u'Валерий' user.last_name = u'Богданов' user.save() >>> Incorrect string value: '\xD0\x92\xD0\xB0\xD0\xBB...' for column 'first_name' at row …
158 python  mysql  django  unicode  utf-8 

14
แบบสอบถามย่อยเข้าร่วม
ฉันปรับโครงสร้างส่วนที่ช้าของแอปพลิเคชันที่เราสืบทอดจาก บริษัท อื่นให้ใช้การเข้าร่วมภายในแทนแบบสอบถามย่อยเช่น: WHERE id IN (SELECT id FROM ...) แบบสอบถามที่มีการปรับโครงสร้างใหม่จะทำงานได้เร็วขึ้นประมาณ 100x (~ 50 วินาทีถึง ~ 0.3) ฉันคาดว่าจะได้รับการปรับปรุง แต่ใคร ๆ ก็สามารถอธิบายได้ว่าทำไมมันถึงรุนแรง คอลัมน์ที่ใช้ในส่วนคำสั่ง where ถูกทำดัชนีทั้งหมด SQL ดำเนินการค้นหาในส่วนคำสั่ง where หนึ่งครั้งต่อแถวหรือบางอย่างหรือไม่? อัปเดต - อธิบายผลลัพธ์: ความแตกต่างอยู่ในส่วนที่สองของแบบสอบถาม "where id in ()" - 2 DEPENDENT SUBQUERY submission_tags ref st_tag_id st_tag_id 4 const 2966 Using where vs …

24
วิธีการลบข้อมูลที่ซ้ำกันในตาราง MySQL?
ฉันต้องการDELETEแถวที่ซ้ำกันสำหรับ sid ที่ระบุบนMySQLตาราง ฉันจะทำสิ่งนี้กับแบบสอบถาม SQL ได้อย่างไร DELETE (DUPLICATED TITLES) FROM table WHERE SID = "1" บางอย่างเช่นนี้ แต่ฉันไม่รู้จะทำอย่างไร
158 mysql  duplicates 



8
ในการปรับปรุงคีย์ซ้ำเหมือนกันกับการแทรก
ฉันค้นหาไปแล้วแต่ไม่พบว่าเป็นไปได้ ฉันแบบสอบถาม MySQL นี้: INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8) รหัสฟิลด์มี "ดัชนีที่ไม่ซ้ำ" ดังนั้นจึงไม่มีสองรายการ ตอนนี้ถ้ารหัสเดียวกันนี้มีอยู่ในฐานข้อมูลแล้วฉันต้องการอัปเดต แต่ฉันต้องระบุฟิลด์เหล่านี้ทั้งหมดอีกครั้งเช่น: INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8) ON DUPLICATE KEY UPDATE a=2,b=3,c=4,d=5,e=6,f=7,g=8 หรือ: INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8) ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g) ฉันได้ระบุทุกอย่างไว้ในส่วนเสริมแล้ว ... หมายเหตุเพิ่มเติมฉันต้องการใช้งานเพื่อรับ ID! id=LAST_INSERT_ID(id) ฉันหวังว่าบางคนสามารถบอกฉันได้ว่าวิธีที่มีประสิทธิภาพที่สุดคืออะไร

5
เพิ่มเขตข้อมูลฐานข้อมูล 1
ด้วย MySQL ถ้าฉันมีเขตข้อมูลของการพูดว่าเข้าสู่ระบบฉันจะไปเกี่ยวกับการปรับปรุงสนามโดย 1 ในคำสั่ง sql? ฉันกำลังพยายามสร้างแบบสอบถาม INSERT ที่สร้างชื่อนามสกุลและเข้าสู่ระบบ อย่างไรก็ตามหากการรวมกันของชื่อและนามสกุลมีอยู่แล้วให้เพิ่มการเข้าสู่ระบบด้วย 1 ดังนั้นตารางอาจมีลักษณะเช่นนี้ .. firstName----|----lastName----|----logins John Jones 1 Steve Smith 3 ฉันตามคำสั่งว่าเมื่อทำงานจะแทรกคนใหม่ (เช่น Tom Rogers) หรือเพิ่มการเข้าสู่ระบบหาก John Jones เป็นชื่อที่ใช้ ..
158 mysql  insert  increment 

3
PDO รับ ID ล่าสุดที่ถูกแทรก
ฉันมีแบบสอบถามและฉันต้องการแทรก ID ล่าสุด ID ฟิลด์เป็นคีย์หลักและการเพิ่มอัตโนมัติ ฉันรู้ว่าฉันต้องใช้คำสั่งนี้: LAST_INSERT_ID() คำสั่งนั้นใช้ได้กับข้อความค้นหาเช่นนี้: $query = "INSERT INTO `cell-place` (ID) VALUES (LAST_INSERT_ID())"; แต่ถ้าฉันต้องการรับ ID โดยใช้คำสั่งนี้: $ID = LAST_INSERT_ID(); ฉันได้รับข้อผิดพลาดนี้: Fatal error: Call to undefined function LAST_INSERT_ID() ผมทำอะไรผิดหรือเปล่า?
158 php  mysql  database  pdo 

9
MySQL - ใช้ COUNT (*) ในส่วนคำสั่ง WHERE
ฉันพยายามทำสิ่งต่อไปนี้ใน MySQL (ดูpseudoรหัส) SELECT DISTINCT gid FROM `gd` WHERE COUNT(*) > 10 ORDER BY lastupdated DESC มีวิธีการทำเช่นนี้โดยไม่ใช้ (SELECT ... ) ในส่วนคำสั่ง WHERE เพราะดูเหมือนว่าจะเป็นการสิ้นเปลืองทรัพยากร

3
คำนวณความแตกต่างระหว่างชุดข้อมูลสองชุดใน MySQL
ฉันกำลังจัดเก็บเวลาเข้าสู่ระบบล่าสุดใน MySQL ในdatetimeประเภทยื่น เมื่อผู้ใช้เข้าสู่ระบบฉันต้องการได้รับความแตกต่างระหว่างเวลาเข้าสู่ระบบครั้งล่าสุดและเวลาปัจจุบัน (ซึ่งฉันได้ใช้NOW()) ฉันจะคำนวณได้อย่างไร
157 mysql 

4
MySQL: การแบ่งประเภทของการรวมอย่างรวดเร็ว
ฉันต้องการแบ่งประเภทของ MySQL อย่างรวดเร็ว ฉันรู้สิ่งเหล่านี้ส่วนที่เหลือฉันไม่แน่ใจว่าพวกเขาหมายถึงอะไร คั่นด้วยเครื่องหมายจุลภาค (สิ่งที่ว่าเป็นระยะสั้นนี้?):SELECT * FROM a, b WHERE b.id = a.beeId AND ... แสดงข้อมูลจาก a แม้ว่าจะไม่มีการจับคู่ใน b: SELECT * FROM a LEFT OUTER JOIN b ON b.id = a.beeId WHERE ... ฉันเคยเห็นผู้เข้าร่วมคนอื่น ๆ แต่ต้องการรู้ว่าอะไรที่ทำให้พวกเขาแตกต่างคืออะไรINNER/ OUTERเพิ่มการLEFTเปลี่ยนแปลงอะไร ฉันรู้แล้วว่าการเข้าร่วมทำงานอย่างไรฉันแค่อยากรู้ว่ามีการเข้าร่วมประเภทอื่นหรือไม่หรือหากพวกเขาเป็นวิธีที่แตกต่างกันในการรับผลลัพธ์เดียวกัน
157 mysql  join 

4
ใน MySQL คำว่า "ค่าใช้จ่าย" หมายถึงอะไรเลวร้ายเกี่ยวกับมันและวิธีแก้ไขได้อย่างไร
คำถามง่าย ๆ แต่มันดุด่าฉันในขณะนี้ .... "ค่าใช้จ่าย" ใน MySQL คืออะไรและฉันควรจะกังวล? การคลิกที่ "ตารางเพิ่มประสิทธิภาพ" ไม่แก้ไขจริงหรือไม่
157 mysql  overhead 

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