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

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

6
MySQL: float และ double ต่างกันอย่างไร
เมื่อตรวจสอบโครงสร้างฐานข้อมูลใหม่ฉันพบว่ามีคนเปลี่ยนฟิลด์จาก float เป็น double สงสัยว่าทำไมฉันจึงตรวจสอบเอกสาร mysql แต่ไม่เข้าใจว่าความแตกต่างคืออะไร ใครช่วยอธิบายหน่อย
112 mysql 

22
สร้างสตริงอักขระ 8 ตัวแบบสุ่มและไม่ซ้ำกันโดยใช้ MySQL
ฉันกำลังทำเกมที่เกี่ยวข้องกับยานพาหนะในบางจุด ฉันมีตาราง MySQL ชื่อ "ยานพาหนะ" ที่มีข้อมูลเกี่ยวกับยานพาหนะรวมถึงคอลัมน์ "แผ่นป้าย" ซึ่งเก็บป้ายทะเบียนสำหรับยานพาหนะ ตอนนี้มาถึงส่วนที่ฉันมีปัญหา ฉันต้องหาป้ายทะเบียนที่ไม่ได้ใช้ก่อนที่จะสร้างรถคันใหม่ - ควรเป็นสตริงสุ่มแบบตัวเลขและตัวอักษร 8 อักขระ ฉันประสบความสำเร็จได้อย่างไรโดยใช้ while loop ใน Lua ซึ่งเป็นภาษาที่ฉันเขียนโปรแกรมเพื่อสร้างสตริงและสอบถาม DB เพื่อดูว่ามีการใช้หรือไม่ อย่างไรก็ตามเมื่อจำนวนยานพาหนะเพิ่มขึ้นฉันคาดว่าสิ่งนี้จะไม่มีประสิทธิภาพมากยิ่งขึ้นในตอนนี้ ดังนั้นฉันจึงตัดสินใจลองแก้ไขปัญหานี้โดยใช้แบบสอบถาม MySQL แบบสอบถามที่ฉันต้องการควรสร้างสตริงตัวเลขและตัวอักษร 8 ตัวซึ่งยังไม่มีอยู่ในตาราง ฉันคิดถึงวิธีการสร้างและตรวจสอบลูปอีกครั้ง แต่ฉันไม่ได้ จำกัด คำถามนี้ไว้แค่นั้นในกรณีที่มีคำถามที่มีประสิทธิภาพมากกว่า ฉันสามารถสร้างสตริงได้โดยการกำหนดสตริงที่มีอักขระที่อนุญาตทั้งหมดและตั้งสตริงย่อยแบบสุ่มและไม่มีอะไรเพิ่มเติม ขอความช่วยเหลือใด ๆ
112 mysql  sql 

6
การใช้หน่วยความจำสูงสุดของ MySQL
ฉันต้องการทราบว่าเป็นไปได้อย่างไรในการกำหนดขีด จำกัด สูงสุดของจำนวนหน่วยความจำที่ MySQL ใช้บนเซิร์ฟเวอร์ Linux ตอนนี้ MySQL จะใช้หน่วยความจำต่อไปเมื่อมีการร้องขอใหม่ทุกครั้งเพื่อให้หน่วยความจำหมดในที่สุด มีวิธีกำหนดวงเงินเพื่อไม่ให้ MySQL ใช้เกินจำนวนนั้นหรือไม่?
111 mysql  memory  ram 

4
View's SELECT มีคิวรีย่อยในส่วนคำสั่ง FROM
ฉันมีสองตารางและฉันต้องการสร้างมุมมอง ตารางคือ: credit_orders(id, client_id, number_of_credits, payment_status) credit_usage(id, client_id, credits_used, date) ฉันใช้แบบสอบถามต่อไปนี้เพื่อทำสิ่งนี้ คำค้นหาที่ไม่มีส่วน "create view" ทำงานได้ดี แต่เมื่อใช้ "create view" จะแสดงข้อผิดพลาด "View's SELECT มีคิวรีย่อยใน FROM clause" ปัญหาและแนวทางแก้ไขที่เป็นไปได้คืออะไร: create view view_credit_status as (select credit_orders.client_id, sum(credit_orders.number_of_credits) as purchased, ifnull(t1.credits_used,0) as used from credit_orders left outer join (select * from (select credit_usage.client_id, sum(credits_used) as credits_used …
111 mysql  sql  database  views 

5
Windows: XAMPP เทียบกับ WampServer vs EasyPHP เทียบกับทางเลือก [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา มีคำถามคล้าย ๆ กันที่ถามที่นี่เมื่อสามปีก่อน แต่ฉันต้องการเปิดเพิ่มเติมเพื่อรวมสแต็ค Windows / Apache / MySQL / PHP ที่เป็นไปได้ทั้งหมด สิ่งที่คุณคิดว่าดีที่สุด? XAMPPดูเหมือนจะเป็นที่นิยมมากที่สุด แต่ฉันได้อ่านสิ่งที่ไม่ดีหลายอย่างเกี่ยวกับเรื่องนี้ซึ่งทำให้ฉันสงสัยว่ามันดีอย่างที่ความนิยมแนะนำหรือไม่ ตัวอย่างเช่นฉันเคยได้ยินมาว่าการกำหนดค่า PHP เริ่มต้นนั้นไม่ปลอดภัยมาก (และเห็นได้ชัดว่าแอปผู้ดูแลระบบของพวกเขาไม่สามารถทำงานได้หากไม่มีช่องโหว่เหล่านี้เปิดทิ้งไว้) นี้ไม่ได้เป็นที่น่ากลัวสำหรับสถานการณ์การพัฒนาอย่างเห็นได้ชัด register_globalsแต่คุณอาจจะจบลงอาศัยสิ่งที่ต้องการ ฉันยังเห็นสิ่งอื่นที่ทำให้ฉันกังวล: นักพัฒนาแนะนำให้ผู้ใช้ Vista ปิดใช้งาน UAC เพื่อใช้ซอฟต์แวร์ของพวกเขา! สำหรับฉันนั่นคือธงสีแดงขนาดใหญ่ ใช่มีปัญหาในการรับบางสิ่งเช่นนี้บน Vista ที่เปิดใช้งาน UAC แต่ไม่ควรนำเสนอการปิดใช้งาน UAC เป็นวิธีแก้ปัญหาโดยเฉพาะอย่างยิ่งสำหรับมือใหม่ (ที่ต้องการ UAC มากกว่าใคร) มันทำให้ฉันกังวลมาก เห็นได้ชัดว่าWampServerเปลี่ยนเวอร์ชันของ PHP หรือ …
111 php  mysql  windows  apache  wamp 

5
mysql - จำนวนคอลัมน์มากเกินไป?
ฉันกำลังตั้งค่าตารางที่อาจมีมากกว่า 70 คอลัมน์ ตอนนี้ฉันกำลังคิดที่จะแยกมันออกเนื่องจากข้อมูลบางส่วนในคอลัมน์ไม่จำเป็นทุกครั้งที่เข้าถึงตาราง จากนั้นอีกครั้งถ้าฉันทำสิ่งนี้ฉันจะต้องใช้การรวม ณ จุดใดถือว่ามีจำนวนคอลัมน์มากเกินไปหรือไม่
111 sql  mysql 

5
ฟิลด์ MySQL ทั่วไปและประเภทข้อมูลที่เหมาะสม
ฉันกำลังตั้งค่าฐานข้อมูล MySQL ขนาดเล็กมากที่จัดเก็บชื่อนามสกุลอีเมลและหมายเลขโทรศัพท์และกำลังดิ้นรนเพื่อค้นหาประเภทข้อมูลที่ 'สมบูรณ์แบบ' สำหรับแต่ละฟิลด์ ฉันรู้ว่าไม่มีสิ่งที่เรียกว่าคำตอบที่สมบูรณ์แบบ แต่ต้องมีหลักการทั่วไปบางอย่างสำหรับฟิลด์ที่ใช้กันทั่วไปเช่นนี้ ตัวอย่างเช่นฉันได้พิจารณาแล้วว่าหมายเลขโทรศัพท์ของสหรัฐอเมริกาที่ยังไม่ได้ฟอร์แมตนั้นใหญ่เกินกว่าที่จะจัดเก็บเป็น int ที่ไม่ได้ลงนามต้องมีค่าอย่างน้อยที่สุด เพราะฉันแน่ใจว่าคนอื่น ๆ น่าจะพบว่าสิ่งนี้มีประโยชน์ฉันจึงไม่ต้องการ จำกัด คำถามของฉันไว้เฉพาะในฟิลด์ที่ฉันกล่าวถึงข้างต้น ประเภทข้อมูลใดที่เหมาะสมสำหรับช่องฐานข้อมูลทั่วไป ช่องต่างๆเช่นหมายเลขโทรศัพท์อีเมลและที่อยู่?
111 mysql  database  types 

3
MySQL Fire Trigger สำหรับทั้ง Insert และ Update
เป็นไปได้ไหมที่จะเริ่มทริกเกอร์ mysql สำหรับทั้งเหตุการณ์แทรกและอัปเดตของตาราง ฉันรู้ว่าฉันสามารถทำสิ่งต่อไปนี้ได้ CREATE TRIGGER my_trigger AFTER INSERT ON `table` FOR EACH ROW BEGIN ..... END // CREATE TRIGGER my_trigger AFTER UPDATE ON `table` FOR EACH ROW BEGIN ..... END // แต่ฉันจะทำอย่างไร CREATE TRIGGER my_trigger AFTER INSERT ON `table` AND AFTER UPDATE ON `table` FOR EACH ROW BEGIN ..... …
111 mysql  triggers 

14
เชื่อมต่อกับ mysql ใน Docker container จากโฮสต์
(อาจเป็นคำถามที่โง่เนื่องจากความรู้ที่ จำกัด ของฉันเกี่ยวกับ Docker หรือการดูแลระบบ mysql แต่เนื่องจากฉันใช้เวลาทั้งเย็นกับปัญหานี้ฉันจึงกล้าที่จะถามมัน) โดยสังเขป ฉันต้องการเรียกใช้ mysql ในคอนเทนเนอร์นักเทียบท่าและเชื่อมต่อจากโฮสต์ของฉัน จนถึงตอนนี้สิ่งที่ดีที่สุดที่ฉันทำได้คือ: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) รายละเอียดเพิ่มเติม ฉันใช้สิ่งต่อไปนี้Dockerfile: FROM ubuntu:14.04.3 RUN apt-get update && apt-get install -y mysql-server # Ensure we won't bind to localhost only RUN grep -v bind-address /etc/mysql/my.cnf …
111 mysql  docker  dockerfile 

11
จะรับประเภทข้อมูลคอลัมน์ตาราง mysql ได้อย่างไร
ฉันต้องการรับประเภทข้อมูลคอลัมน์ของตาราง mysql คิดว่าฉันสามารถใช้MYSQLFIELDโครงสร้างได้ แต่เป็นประเภทฟิลด์ที่แจกแจง จากนั้นฉันก็ลองด้วย mysql_real_query() ข้อผิดพลาดที่ฉันได้รับคือ query was empty ฉันจะรับประเภทข้อมูลคอลัมน์ได้อย่างไร
111 mysql 

9
ข้อ จำกัด คีย์ต่างประเทศผิดพลาดล้มเหลว
ฉันได้รับข้อความแสดงข้อผิดพลาดนี้: ข้อผิดพลาด 1217 (23000) ที่บรรทัด 40: ไม่สามารถลบหรืออัปเดตแถวหลัก: ข้อ จำกัด ของคีย์ภายนอกล้มเหลว ... เมื่อฉันพยายามวางโต๊ะ: DROP TABLE IF EXISTS `area`; ... กำหนดไว้เช่นนี้: CREATE TABLE `area` ( `area_id` char(3) COLLATE utf8_spanish_ci NOT NULL, `nombre_area` varchar(30) COLLATE utf8_spanish_ci NOT NULL, `descripcion_area` varchar(100) COLLATE utf8_spanish_ci NOT NULL, PRIMARY KEY (`area_id`), UNIQUE KEY `nombre_area_UNIQUE` (`nombre_area`) ) ENGINE=InnoDB …
110 mysql  innodb 

2
เหตุใด“ _” (ขีดล่าง) จึงจับคู่“ -” (ยัติภังค์)
ฉันต้องค้นหาคู่มือ PDF โดยใช้แบบสอบถามนี้: root@localhost:test> select * from a where name like '%taz_manual%.pdf%'; +--------------------+------------------+-------------+ | name | description | size | +--------------------+------------------+-------------+ | taz-manual-1.1.pdf | Manual v1.0 TA-Z | 31351902 | | taz-manual-0.2.pdf | Manual v1.0 T1-A | 3578278 | | taz_manual-2.0.pdf | Manual v2.0 GA-X | 542578278 | etc........ +--------------------+------------------+-------------+ …
110 mysql  wildcard 

6
MySQL: ธุรกรรมเทียบกับตารางการล็อก
ฉันสับสนเล็กน้อยกับการทำธุรกรรมและการล็อกตารางเพื่อให้แน่ใจว่าฐานข้อมูลมีความสมบูรณ์และตรวจสอบให้แน่ใจว่า SELECT และ UPDATE ยังคงซิงค์อยู่และไม่มีการเชื่อมต่ออื่นใดรบกวน ฉันจำเป็นต้อง: SELECT * FROM table WHERE (...) LIMIT 1 if (condition passes) { // Update row I got from the select UPDATE table SET column = "value" WHERE (...) ... other logic (including INSERT some data) ... } ฉันต้องตรวจสอบให้แน่ใจว่าไม่มีการสอบถามอื่นใดที่จะรบกวนและดำเนินการแบบเดียวกันSELECT(อ่าน 'ค่าเก่า' ก่อนที่การเชื่อมต่อนั้นจะอัปเดตแถวเสร็จสิ้น ฉันรู้ว่าฉันสามารถตั้งค่าเริ่มต้นเพื่อLOCK TABLES tableตรวจสอบให้แน่ใจว่ามีการเชื่อมต่อเพียงครั้งละ 1 …

8
ตั้งชื่อ utf8 ใน MySQL?
ฉันมักจะเห็นสิ่งที่คล้ายกับสิ่งนี้ด้านล่างในสคริปต์ PHP โดยใช้ MySQL query("SET NAMES utf8"); ฉันไม่เคยต้องทำสิ่งนี้สำหรับโครงการใด ๆ เลยดังนั้นฉันจึงมีคำถามพื้นฐานสองสามข้อเกี่ยวกับเรื่องนี้ นี่เป็นสิ่งที่ทำกับ PDO เท่านั้นหรือไม่? ถ้าไม่ใช่เรื่องเฉพาะของ PDO แล้วจุดประสงค์ของการทำคืออะไร? ฉันรู้ว่ามันกำลังตั้งค่าการเข้ารหัสสำหรับ mysql แต่ฉันหมายความว่าฉันไม่เคยต้องใช้มันเลยทำไมฉันถึงต้องการใช้มัน?
110 php  mysql  utf-8 

3
คุณเข้าร่วมโต๊ะเดียวกันสองครั้งใน mysql ได้อย่างไร?
ฉันมี 2 โต๊ะ หนึ่ง (โดเมน) มีรหัสโดเมนและชื่อโดเมน (dom_id, dom_url) อีกอันมีข้อมูลจริงซึ่ง 2 คอลัมน์ต้องการชื่อโดเมน TO และ FROM ดังนั้นฉันจึงมี 2 คอลัมน์ rev_dom_from และ rev_dom_for ซึ่งทั้งสองคอลัมน์เก็บ id ชื่อโดเมนจากตารางโดเมน เรียบง่าย ตอนนี้ฉันต้องแสดงชื่อโดเมนทั้งสองจริงบนหน้าเว็บ ฉันรู้วิธีแสดงอย่างใดอย่างหนึ่งผ่านโดเมน LEFT JOIN ในการสอบถาม reviews.rev_dom_for = domains.dom_url จากนั้นคุณก็สะท้อน dom_url ซึ่งจะสะท้อนชื่อโดเมนในคอลัมน์ rev_dom_for แต่ฉันจะทำให้มันสะท้อนชื่อโดเมนที่ 2 ในคอลัมน์ dom_rev_from ได้อย่างไร
110 mysql 

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