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

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

5
เปรียบเทียบวันที่ใน MySQL
ฉันต้องการเปรียบเทียบวันที่จากฐานข้อมูลที่อยู่ระหว่าง 2 วันที่กำหนด คอลัมน์จากฐานข้อมูลคือ DATETIME และฉันต้องการเปรียบเทียบกับรูปแบบวันที่เท่านั้นไม่ใช่รูปแบบวันที่และเวลา SELECT * FROM `players` WHERE CONVERT(CHAR(10),us_reg_date,120) >= '2000-07-05' AND CONVERT(CHAR(10),us_reg_date,120) <= '2011-11-10' ฉันได้รับข้อผิดพลาดนี้เมื่อฉันดำเนินการ SQL ด้านบน: คุณมีข้อผิดพลาดในไวยากรณ์ SQL ของคุณ ตรวจสอบคู่มือที่สอดคล้องกับเวอร์ชันเซิร์ฟเวอร์ MySQL ของคุณสำหรับไวยากรณ์ที่ถูกต้องที่จะใช้ใกล้ 'us_reg_date, 120)> =' 2000-07-05 'และแปลง (CHAR (10), us_reg_date, 120) <=' 2011- 'ที่ บรรทัดที่ 1 ปัญหานี้จะแก้ไขได้อย่างไร?
95 mysql  sql  comparison 


5
MySQL - MySQL เวอร์ชันนี้ยังไม่รองรับ 'LIMIT & IN / ALL / ANY / SOME subquery
นี่คือรหัสที่ฉันใช้ $Last_Video = $db->fetch_all(' SELECT VID, thumb FROM video WHERE VID IN ( SELECT VID FROM video WHERE title LIKE "%'.$Channel['name'].'%" ORDER BY viewtime DESC LIMIT 5) ORDER BY RAND() LIMIT 1 '); นี่คือข้อผิดพลาดที่ให้ฉัน Message: Error during SQL execution: SELECT VID, thumb FROM video WHERE VID IN ( SELECT VID …
95 php  mysql 

7
การเชื่อมต่อ Sequel Pro และ MySQL ล้มเหลว
ฉันเพิ่งติดตั้ง mysql บน mac จาก Homebrew brew install mysql mysql -V mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew) จากเทอร์มินัลมันใช้งานได้และฉันสามารถเข้าสู่ระบบ mysql ได้ แต่จาก Sequel Pro มันบอกว่า ไม่สามารถเชื่อมต่อกับโฮสต์ 127.0.0.1 หรือคำขอหมดเวลา ตรวจสอบให้แน่ใจว่าที่อยู่ถูกต้องและคุณมีสิทธิ์ที่จำเป็นหรือลองเพิ่มระยะหมดเวลาการเชื่อมต่อ (ปัจจุบันคือ 10 วินาที) MySQL กล่าวว่า: ไม่สามารถโหลดปลั๊กอินการตรวจสอบสิทธิ์ 'caching_sha2_password' ได้: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2): ไม่พบรูปภาพ คิดไม่ออกว่าฉันขาดอะไรไป

10
จัดกลุ่มเป็นช่วงเวลา 5 นาทีภายในช่วงเวลา
ฉันมีปัญหากับคำสั่ง mySQL ที่ฉันต้องการทำ SELECT a.timestamp, name, count(b.name) FROM time a, id b WHERE a.user = b.user AND a.id = b.id AND b.name = 'John' AND a.timestamp BETWEEN '2010-11-16 10:30:00' AND '2010-11-16 11:00:00' GROUP BY a.timestamp นี่คือคำสั่งผลลัพธ์ปัจจุบันของฉัน timestamp name count(b.name) ------------------- ---- ------------- 2010-11-16 10:32:22 John 2 2010-11-16 10:35:12 John 7 …
94 mysql  sql  group-by 

2
ฉันจะดูค่าเฉพาะของ sql_mode ได้อย่างไร
มีsql_modeค่าบางอย่างใน MySQL: ANSI, IGNORE_SPACE, STRICT_TRANS_TABLESฯลฯ ฉันจะดูค่าเฉพาะได้อย่างไร คู่มือกล่าวว่า: คุณสามารถดึงโหมดปัจจุบันได้โดยการออกคำสั่ง SELECT @@ sql_mode แต่ก็ไม่แสดงอะไรเลยมีเพียงช่องว่างหนึ่งช่องในตาราง@@sql_modeที่มีชื่อคอลัมน์
94 mysql 

2
อัปเดตตาราง MySQL หนึ่งตารางด้วยค่าจากตารางอื่น
ฉันกำลังพยายามอัปเดตตาราง MySQL โดยอิงจากข้อมูลอื่น originalตารางของฉันดูเหมือนว่า: id | value ------------ 1 | hello 2 | fortune 3 | my 4 | old 5 | friend และtobeupdatedตารางดูเหมือนว่า: uniqueid | id | value --------------------- 1 | | something 2 | | anything 3 | | old 4 | | friend 5 | | fortune …
94 mysql  sql 

6
ประสิทธิภาพของตัวดำเนินการ MySQL“ IN” บนจำนวนค่า (ใหญ่?)
ฉันได้ทดลองกับ Redis และ MongoDB เมื่อไม่นานมานี้และดูเหมือนว่ามักจะมีหลายกรณีที่คุณจะเก็บอาร์เรย์ของidไว้ใน MongoDB หรือ Redis ฉันจะติดกับ Redis สำหรับคำถามนี้ตั้งแต่ฉันถามเกี่ยวกับ MySQL ในการประกอบการ ฉันสงสัยว่านักแสดงเป็นอย่างไรในการแสดงรายการIDจำนวนมาก (300-3000) ในตัวดำเนินการ IN ซึ่งจะมีลักษณะดังนี้: SELECT id, name, price FROM products WHERE id IN (1, 2, 3, 4, ...... 3000) ลองนึกภาพง่ายๆอย่างตารางผลิตภัณฑ์และหมวดหมู่ซึ่งโดยปกติคุณอาจเข้าร่วมด้วยกันเพื่อรับผลิตภัณฑ์จากหมวดหมู่หนึ่งๆ ในตัวอย่างด้านบนคุณจะเห็นว่าภายใต้หมวดหมู่ที่กำหนดใน Redis ( category:4:product_ids) ฉันส่งคืนรหัสผลิตภัณฑ์ทั้งหมดจากหมวดหมู่ด้วยรหัส 4 และวางไว้ในSELECTข้อความค้นหาด้านบนภายในตัวINดำเนินการ นักแสดงเป็นอย่างไร? นี่คือสถานการณ์ "ขึ้นอยู่กับ" หรือไม่? หรือมีรูปธรรม "นี่คือ (ไม่) ยอมรับ" หรือ …

7
จะให้สิทธิ์การเข้าถึง MySQL จากระยะไกลสำหรับซับเน็ตทั้งหมดได้อย่างไร
ฉันสามารถให้สิทธิ์การเข้าถึง IP เดียวโดยใช้รหัสนี้: $ mysql -u root -p Enter password: mysql> use mysql mysql> GRANT ALL ON *.* to root@'192.168.1.4' IDENTIFIED BY 'your-root-password'; mysql> FLUSH PRIVILEGES; แต่ฉันต้องอนุญาตให้ซับเน็ตทั้งหมด 192.168.1. * เพื่อเข้าถึงฐานข้อมูลจากระยะไกล ฉันจะทำเช่นนั้นได้อย่างไร?
94 mysql  grant 

11
เลือกลงในตัวแปรใน MySQL DECLARE ทำให้เกิดข้อผิดพลาดทางไวยากรณ์หรือไม่
ฉันต้องการเลือกค่าเดียวเป็นตัวแปร ฉันพยายามทำตาม: DECLARE myvar INT(4); - ส่งคืนข้อผิดพลาดทางไวยากรณ์ทันที SELECT myvalue FROM mytable WHERE anothervalue = 1; - ส่งกลับจำนวนเต็มเดียว SELECT myvalue INTO myvar FROM mytable WHERE anothervalue = 1; - ใช้ไม่ได้ลอง @myvar ด้วย สามารถใช้ DECLARE นอกกระบวนงานหรือฟังก์ชันที่จัดเก็บไว้ได้หรือไม่? บางทีฉันอาจไม่เข้าใจแนวคิดของตัวแปรผู้ใช้ ... ฉันเพิ่งลอง: SELECT myvalue INTO @var FROM `mytable` WHERE uid = 1; SELECT @var; ... …



13
การตั้งค่า global sql_mode ใน mysql
ฉันพยายามตั้งค่า sql_mode ใน mysql แต่เกิดข้อผิดพลาด คำสั่ง: set global sql_mode='NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLE','NO_AUTO_CREATE_USER','NO_ENGINE_SUBSTITUTION' นี่ไม่ใช่วิธีที่เหมาะสมในการตั้งค่าหลายโหมดหรือไม่? ข้อดีของการตั้งค่าเซสชันและโหมดส่วนกลางคืออะไร? preffered ไหน ฉันมีผู้ใช้ที่แตกต่างกันพยายามอัปเดตฐานข้อมูลด้วยค่า UNC ที่แตกต่างกันและกำหนดให้ od ตั้งค่าโหมดเซสชันเป็น 'NO_BACKSLASH_ESCAPES' แม้ว่ามันจะสมเหตุสมผลที่จะใช้โหมด gloabl สำหรับสิ่งนี้ สิ่งนี้สมเหตุสมผลไหม กรุณาแจ้งให้เราทราบ ขอบคุณ.
94 mysql 

3
อะไรคือความแตกต่างระหว่าง MySQLdb, mysqlclient และ MySQL connector / Python?
ดังนั้นฉันจึงพยายามอัปเดตฐานข้อมูลด้วย python และในขณะที่ตั้งค่าสภาพแวดล้อม dev ทั้งหมดฉันเจอสามสิ่งนี้ซึ่งทำให้ฉันเวียนหัว มีMySQLdb มีmysqlclient แล้วก็มีpython ตัวเชื่อมต่อ mysql แต่ละอย่างแตกต่างกันอย่างไรและใช้ที่ไหน? ขอบคุณ

3
จำนวน MySQL เกิดขึ้นมากกว่า 2
ฉันมีโครงสร้างตารางต่อไปนี้ + id + word + +------+--------+ ตารางจะเต็มไปด้วยคำที่อยู่ด้านล่างของข้อความที่กำหนดดังนั้นข้อความ สวัสดีลาก่อนสวัสดี จะส่งผลให้ + id + word + +------+--------+ + 1 + hello + +------+--------+ + 2 + bye + +------+--------+ + 3 + hello + +------+--------+ ฉันต้องการสร้างแบบสอบถามแบบเลือกที่จะส่งคืนจำนวนคำที่ซ้ำกันอย่างน้อยสองครั้งในตาราง (เช่นสวัสดี) SELECT COUNT(id) FROM words WHERE (SELECT COUNT(words.word))>1 ซึ่งแน่นอนว่าผิดและมากเกินไปเมื่อโต๊ะมีขนาดใหญ่ มีความคิดอย่างไรในการบรรลุวัตถุประสงค์ดังกล่าว? ในตัวอย่างที่ให้มาข้างต้นฉันคาดหวัง 1
93 mysql 

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