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

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

12
แบบสอบถามเพื่อนับจำนวนตารางที่ฉันมีใน MySQL
ฉันมีจำนวนตารางเพิ่มขึ้นและบางครั้งฉันก็อยากรู้อยากเห็นเพียงแค่ทำแบบสอบถามบรรทัดคำสั่งอย่างรวดเร็วเพื่อนับจำนวนตารางในฐานข้อมูลของฉัน เป็นไปได้หรือไม่ ถ้าเป็นเช่นนั้นแบบสอบถามคืออะไร?
130 mysql 

12
แทรกหลายแถวผ่านอาร์เรย์ php ลงใน mysql
ฉันส่งชุดข้อมูลขนาดใหญ่ลงในตาราง MySQL ผ่าน PHP โดยใช้คำสั่งแทรกและฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะแทรกประมาณ 1,000 แถวต่อครั้งผ่านการสืบค้นนอกเหนือจากการเติมแต่ละค่าในตอนท้ายของสตริงที่มีความยาวหนึ่งไมล์ รันมัน ฉันกำลังใช้กรอบงาน CodeIgniter เพื่อให้สามารถใช้งานฟังก์ชันได้เช่นกัน

4
วิธีสร้างฐานข้อมูลแบบหลายผู้เช่าที่มีโครงสร้างตารางแบบแบ่งใช้
ขณะนี้ซอฟต์แวร์ของเราทำงานบน MySQL ข้อมูลของผู้เช่าทั้งหมดจะถูกเก็บไว้ในสคีมาเดียวกัน เนื่องจากเราใช้ Ruby on Rails เราจึงสามารถระบุได้ว่าข้อมูลใดเป็นของผู้เช่ารายใด อย่างไรก็ตามมี บริษัท บางแห่งที่กลัวว่าข้อมูลของพวกเขาอาจถูกบุกรุกดังนั้นเราจึงประเมินโซลูชั่นอื่น ๆ จนถึงตอนนี้ฉันได้เห็นสามตัวเลือก: หลายฐานข้อมูล (ผู้เช่าแต่ละคนได้รับเป็นของตัวเอง - เกือบเท่ากับ 1 เซิร์ฟเวอร์ต่อลูกค้าหนึ่งราย) Multi-Schema (ไม่มีให้ใน MySQL ผู้เช่าแต่ละคนจะได้รับ schema ของตัวเองในฐานข้อมูลที่แชร์) Shared Schema (แนวทางปัจจุบันของเราอาจมีการระบุบันทึกเพิ่มเติมในแต่ละคอลัมน์) Multi-Schema เป็นรายการโปรดของฉัน (พิจารณาค่าใช้จ่าย) อย่างไรก็ตามการสร้างบัญชีใหม่และการย้ายข้อมูลดูเหมือนจะค่อนข้างเจ็บปวดเพราะฉันจะต้องทำซ้ำกับ schema ทั้งหมดและเปลี่ยนตาราง / คอลัมน์ / คำจำกัดความของพวกเขา ถาม: Multi-Schema ดูเหมือนว่าได้รับการออกแบบให้มีตารางที่แตกต่างกันเล็กน้อยสำหรับผู้เช่าแต่ละคน - ฉันไม่ต้องการสิ่งนี้ มี RDBMS ใดบ้างที่อนุญาตให้ฉันใช้ multi-schema multi-tenant solution ซึ่งมีการแชร์โครงสร้างตารางระหว่างผู้เช่าทั้งหมดหรือไม่ …

22
จะรับบันทึกถัดไป / ก่อนหน้าใน MySQL ได้อย่างไร
สมมติว่าฉันมีบันทึกที่มี ID 3,4,7,9 และฉันต้องการที่จะเปลี่ยนจากที่หนึ่งไปยังอีกที่หนึ่งโดยการนำทางผ่านลิงก์ถัดไป / ก่อนหน้า ปัญหาคือฉันไม่รู้วิธีดึงข้อมูลที่มี ID ที่สูงกว่าที่ใกล้ที่สุด ดังนั้นเมื่อฉันมีเรกคอร์ดที่มี ID 4 ฉันต้องสามารถดึงเรกคอร์ดที่มีอยู่ถัดไปได้ซึ่งจะเป็น 7 คิวรีน่าจะมีลักษณะคล้าย ๆ SELECT * FROM foo WHERE id = 4 OFFSET 1 ฉันจะดึงข้อมูลระเบียนถัดไป / ก่อนหน้าโดยไม่ดึงชุดผลลัพธ์ทั้งหมดและทำซ้ำด้วยตนเองได้อย่างไร ฉันใช้ MySQL 5
129 sql  mysql 

4
MySQL ผลลัพธ์เป็นรายการที่คั่นด้วยจุลภาค
ฉันต้องการเรียกใช้แบบสอบถามเช่น: SELECT p.id, p.name, (SELECT name FROM sites s WHERE s.id = p.site_id) AS site_list FROM publications p แต่ฉันต้องการให้การเลือกย่อยส่งคืนรายการที่คั่นด้วยจุลภาคแทนที่จะเป็นคอลัมน์ข้อมูล เป็นไปได้หรือไม่และถ้าเป็นเช่นนั้นได้อย่างไร
129 sql  mysql  concatenation 


4
ความแตกต่างระหว่าง MySQL, MySQLi และ PDO คืออะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ความแตกต่างระหว่าง MySQL, MySQLiและPDOคืออะไร? อันไหนที่เหมาะที่สุดที่จะใช้กับ PHP-MySQL?
128 php  mysql  pdo  mysqli 


17
คุณกำหนดเวอร์ชันสคีมาฐานข้อมูลของคุณได้อย่างไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการในวันที่ 11 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ คุณเตรียม SQL deltas ของคุณอย่างไร? คุณบันทึก SQL ที่เปลี่ยนสคีมาแต่ละรายการลงในโฟลเดอร์เดลต้าด้วยตนเองหรือคุณมีกระบวนการที่แตกต่างกันโดยอัตโนมัติหรือไม่? ฉันสนใจข้อตกลงสำหรับการกำหนดเวอร์ชันสคีมาฐานข้อมูลพร้อมกับซอร์สโค้ด อาจเป็นเบ็ดก่อนการคอมมิตที่แตกต่างสคีมา? นอกจากนี้สิ่งที่ตัวเลือกสำหรับการ diffing สันดอนอยู่นอกเหนือจากDbDeploy ? แก้ไข: เมื่อเห็นคำตอบฉันต้องการชี้แจงว่าฉันคุ้นเคยกับโครงร่างมาตรฐานสำหรับการเรียกใช้การย้ายฐานข้อมูลโดยใช้เดลต้า คำถามของฉันเกี่ยวกับการสร้างเดลต้าด้วยตัวเองโดยเฉพาะอย่างยิ่งโดยอัตโนมัติ นอกจากนี้การกำหนดเวอร์ชันสำหรับ PHP และ MySQL หากสร้างความแตกต่าง (ไม่มีวิธีแก้ปัญหา Ruby)
128 sql  mysql  schema  versioning 

8
MySQL ล้มเหลวใน: mysql“ ERROR 1524 (HY000): ไม่ได้โหลดปลั๊กอิน 'auth_socket'”
สภาพแวดล้อมในพื้นที่ของฉันคือ: Ubuntu 16.04 ใหม่ ด้วย PHP 7 ด้วยการติดตั้ง MySQL 5.7 sudo apt-get install mysql-common mysql-server เมื่อฉันพยายามเข้าสู่ระบบ MySQL (ผ่าน CLI): mysql -u root -p ฉันเจอปัญหาแบบวนรอบ 3 ขั้นตอน 1) ประการแรกคือปัญหาเกี่ยวกับซ็อกเก็ต ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' วิธีแก้ไข: รีสตาร์ทพีซี ซึ่งนำไปสู่ข้อผิดพลาดอื่น: 2) ด้วยการเข้าถึงถูกปฏิเสธ ERROR 1698 (28000): Access denied …

6
โค้ด PHP เพื่อแปลงแบบสอบถาม MySQL เป็น CSV [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา วิธีใดเป็นวิธีที่มีประสิทธิภาพที่สุดในการแปลงแบบสอบถาม MySQL เป็น CSV ใน PHP โปรด? วิธีที่ดีที่สุดคือหลีกเลี่ยงไฟล์ temp เนื่องจากจะลดความสามารถในการพกพา (ต้องใช้เส้นทาง dir และการตั้งค่าสิทธิ์ระบบไฟล์) CSV ควรมีชื่อฟิลด์หนึ่งบรรทัดบนสุด
128 php  mysql  csv 

30
ขาดการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ที่ 'การอ่านแพ็กเก็ตการสื่อสารเริ่มต้น' ข้อผิดพลาดของระบบ: 0
ฉันได้รับข้อผิดพลาด: "ขาดการเชื่อมต่อกับเซิร์ฟเวอร์ MySQL เมื่อ 'อ่านแพ็กเก็ตการสื่อสารเริ่มต้นข้อผิดพลาดของระบบ: 0" ในขณะที่ฉันกำลังจะเชื่อมต่อฐานข้อมูลของฉัน หากฉันใช้ localhost ทุกอย่างทำงานได้ดี แต่เมื่อฉันใช้ที่อยู่ IP จริงดังต่อไปนี้ได้รับข้อผิดพลาด: mysql_connect("202.131.xxx.106:xxxx", "xxxx", "xxxxx") or die(mysql_error());
128 php  mysql 

20
การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ 'root' @ 'localhost' (โดยใช้รหัสผ่าน: ใช่) - ไม่มีสิทธิ์?
ฉันได้รับข้อผิดพลาดนี้อย่างต่อเนื่อง ฉันใช้ mySQL Workbench และจากสิ่งที่ฉันพบคือสิทธิ์สคีมาของรูทเป็นโมฆะ ไม่มีสิทธิพิเศษใด ๆ เลย ฉันมีปัญหาในทุกแพลตฟอร์มที่เซิร์ฟเวอร์ของฉันใช้และนี่เป็นปัญหาที่เกิดขึ้นในทันที root@127.0.0.1เห็นได้ชัดว่ามีการเข้าถึงจำนวนมาก แต่ฉันลงชื่อเข้าใช้ แต่เพียงแค่กำหนดให้ localhost เท่านั้น - localhost ไม่มีสิทธิ์ ฉันได้ทำบางสิ่งที่เหมือนFLUSH HOSTS, FLUSH PRIVILEGESฯลฯ แต่ได้พบความสำเร็จจากนั้นหรืออินเทอร์เน็ตไม่ ฉันจะรูทการเข้าถึงกลับมาได้อย่างไร ฉันพบว่าสิ่งนี้น่าหงุดหงิดเพราะเมื่อฉันมองไปรอบ ๆ ผู้คนคาดหวังว่าคุณจะ "เข้าถึงได้" แต่ฉันไม่มีสิทธิ์เข้าถึงดังนั้นฉันจึงไม่สามารถเข้าไปในบรรทัดคำสั่งหรืออะไรGRANTก็ได้ เมื่อเรียกใช้SHOW GRANTS FOR rootนี่คือสิ่งที่ฉันได้รับตอบแทน: รหัสข้อผิดพลาด: 1141 ไม่มีการให้สิทธิ์ดังกล่าวสำหรับผู้ใช้ 'root' บนโฮสต์ '%'

9
จะรับรายการมุมมอง MySQL ได้อย่างไร
ฉันกำลังมองหาวิธีแสดงรายการมุมมองทั้งหมดในฐานข้อมูล ในตอนแรกฉันพบและลองคำตอบในฟอรัม MySQL : SELECT table_name FROM information_schema.views WHERE information_schema.views.table_schema LIKE 'view%'; วิธีนี้ใช้ไม่ได้ผลโดยส่งคืนชุดว่าง (ฉันรู้ว่าพวกเขาอยู่ที่นั่น!) สิ่งเหล่านี้ล้มเหลว: mysql> use information_schema; Database changed mysql> select * from views; ERROR 1102 (42000): Incorrect database name 'mysql.bak' mysql> select * from tables; ERROR 1102 (42000): Incorrect database name 'mysql.bak' เหตุใดจึงไม่ทำงาน
127 mysql 

8
ข้อ จำกัด CHECK ใน MySQL ไม่ทำงาน
ก่อนอื่นฉันสร้างตารางเช่น CREATE TABLE Customer ( SD integer CHECK (SD > 0), Last_Name varchar (30), First_Name varchar(30) ); แล้วแทรกค่าในตารางนั้น INSERT INTO Customer values ('-2','abc','zz'); MySQL ไม่แสดงข้อผิดพลาด แต่ยอมรับค่า

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