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

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


10
ข้อ MySQL ระหว่าง "ไม่รวม?
ถ้าฉันเรียกใช้แบบสอบถามด้วยbetweenประโยคดูเหมือนว่าจะไม่รวมค่าสิ้นสุด ตัวอย่างเช่น: select * from person where dob between '2011-01-01' and '2011-01-31' สิ่งนี้จะได้รับผลลัพธ์ทั้งหมดdobตั้งแต่ '2011-01-01' ถึง '2011-01-30'; ข้ามบันทึกที่dobอยู่ '2011-01-31' ทุกคนสามารถอธิบายได้ไหมว่าเพราะเหตุใดแบบสอบถามนี้จึงทำงานเช่นนี้และฉันจะแก้ไขเพื่อรวมระเบียนที่dobเป็น '2011-01-31' ได้อย่างไร (ไม่เพิ่ม 1 ถึงวันที่สิ้นสุดเนื่องจากถูกเลือกโดยผู้ใช้)
142 sql  mysql  between 

4
ฉันจะเข้าร่วม SQL หลายตารางโดยใช้ ID ได้อย่างไร
ฉันมี 4 ตารางที่แตกต่างกันที่ฉันต้องการเข้าร่วม ตารางมีโครงสร้างที่มีคอลัมน์ดังนี้ TableA - aID | nameA | dID TableB - bID | nameB | cID | aID TableC - cID | nameC | date TableD - dID | nameD เริ่มต้นด้วยตาราง A ฉันเข้าใจวิธีเข้าร่วมตาราง a และ c โดยใช้ b เนื่องจาก b มีคีย์หลักสำหรับตารางเหล่านั้น ฉันต้องการที่จะเข้าร่วม TableD บน TableA เช่นกัน ด้านล่างนี้เป็นคำสั่ง SQL …
141 mysql  sql  join 

12
'0000-00-00 00:00:00' ไม่สามารถแสดงเป็นข้อผิดพลาด java.sql.Timestamp
ฉันมีตารางฐานข้อมูลที่มีวันที่ (`date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'). ฉันใช้ MySQL จากโปรแกรมบางครั้งข้อมูลถูกส่งโดยไม่มีวันที่ไปยังฐานข้อมูล ดังนั้นค่าวันที่จะถูกกำหนดโดยอัตโนมัติ0000-00-00 00:00:00 เมื่อข้อมูลตารางถูกเรียกพร้อมกับคอลัมน์วันที่ซึ่งทำให้เกิดข้อผิดพลาด ...'0000-00-00 00:00:00' can not be represented as java.sql.Timestamp....... ฉันพยายามส่งผ่านค่า Null ไปยังวันที่เมื่อแทรกข้อมูล แต่ได้รับมอบหมายให้เป็นเวลาปัจจุบัน มีวิธีใดบ้างที่ฉันจะได้รับResultSetโดยไม่ต้องเปลี่ยนโครงสร้างตาราง?
141 java  mysql  jdbc  timestamp 


2
คำหลัก KEY หมายถึงอะไร
ในคำนิยามตาราง MySQL นี้: CREATE TABLE groups ( ug_main_grp_id smallint NOT NULL default '0', ug_uid smallint default NULL, ug_grp_id smallint default NULL, KEY (ug_main_grp_id) ); อะไรKEYคำหลักหมายถึงอะไร? ไม่ใช่คีย์หลักไม่ใช่คีย์ต่างประเทศดังนั้นมันจึงเป็นเพียงดัชนี ถ้าใช่มีอะไรพิเศษเกี่ยวกับดัชนีประเภทนี้ที่สร้างขึ้นด้วยKEY?
141 mysql  indexing 

17
วิธีนำเข้าตารางเดียวในฐานข้อมูล mysql โดยใช้บรรทัดคำสั่ง
ฉันนำเข้าฐานข้อมูลได้สำเร็จโดยใช้บรรทัดคำสั่ง แต่ตอนนี้พื้นที่ความเจ็บปวดของฉันคือวิธีการนำเข้าตารางเดียวโดยมีข้อมูลไปยังฐานข้อมูลที่มีอยู่โดยใช้บรรทัดคำสั่ง
141 mysql  import 

24
ข้อผิดพลาด: Tablespace สำหรับตาราง xxx มีอยู่ โปรดทิ้งช้อนโต๊ะก่อนนำเข้า
ฉันค่อนข้างใหม่กับ MySQL และฉันได้รับข้อผิดพลาดที่น่าสนใจซึ่งฉันไม่สามารถค้นหาความช่วยเหลือใด ๆ ผ่านทาง google และการค้นหา stackoverflow ฉันใช้เซิร์ฟเวอร์ภายในของ MySQL 5.6.10 บน MacOS 10.8.3 และจัดการฐานข้อมูลของฉันผ่าน Navicat Essentials สำหรับ MySQL ข้อผิดพลาดที่ฉันได้รับคือหลังจากเรียกใช้และจัดการฐานข้อมูลของฉันได้ดีเพียงสองสามวัน / สัปดาห์มีบางสิ่งที่ทริกเกอร์ (ดูเหมือนจะไม่สมบูรณ์) ลบตารางบางส่วนที่ฉันสร้างขึ้นโดยใช้แบบสอบถามจากภายใน Navicat เมื่อฉันพยายามเรียกใช้แบบสอบถามโดยใช้ตารางเหล่านี้ Navicat จะเตือนฉันว่าไม่มีตารางนั้นอยู่ จนถึงตอนนี้ดีมาก - นี่คือส่วนที่ดี: เมื่อฉันพยายามสร้างตารางเช่นชื่อ "temp" ซึ่งก่อนหน้านี้ฉันได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้: Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT. อย่างไรก็ตามหากฉันพยายามวางโต๊ะหรือพยายามทิ้งพื้นที่ตารางสำหรับตารางนี้โดยใช้ DROP TABLE …

11
จะลบช่องว่างนำหน้าและต่อท้ายในฟิลด์ MySQL ได้อย่างไร
ฉันมีตารางที่มีสองช่อง (ประเทศและรหัส ISO): Table1 field1 - e.g. 'Afghanistan' (without quotes) field2 - e.g. 'AF'(without quotes) ในบางแถวเขตข้อมูลที่สองมีช่องว่างที่จุดเริ่มต้นและ / หรือจุดสิ้นสุดซึ่งส่งผลต่อการสืบค้น Table1 field1 - e.g. 'Afghanistan' (without quotes) field2 - e.g. ' AF' (without quotes but with that space in front) มีวิธี (ใน SQL) เพื่อไปยังตารางและค้นหา / แทนที่ช่องว่างในฟิลด์ 2 หรือไม่


10
รับบันทึกสูงสุด n รายการสำหรับผลลัพธ์แต่ละกลุ่ม
ต่อไปนี้เป็นตัวอย่างที่ง่ายที่สุดที่เป็นไปได้แม้ว่าวิธีการแก้ปัญหาใด ๆ ควรจะสามารถปรับให้ได้ตามต้องการ แต่จะต้องใช้ผลลัพธ์ที่มีจำนวนมากที่สุด n: จากตารางด้านล่างด้วยคอลัมน์บุคคลกลุ่มและอายุคุณจะได้ 2 คนที่เก่าแก่ที่สุดในแต่ละกลุ่มอย่างไร (ความสัมพันธ์ภายในกลุ่มไม่ควรให้ผลลัพธ์มากขึ้น แต่ให้ 2 อันดับแรกตามลำดับตัวอักษร) + -------- + ------- + ----- + | คน | กลุ่ม | อายุ | + -------- + ------- + ----- + | Bob | 1 | 32 | | จิล 1 | 34 | | ชอว์น 1 | …

7
MySQL InnoDB ไม่ปล่อยพื้นที่ดิสก์หลังจากลบแถวข้อมูลออกจากตาราง
ฉันมีตาราง MySQL หนึ่งตารางที่ใช้เอ็นจิ้นการจัดเก็บ InnoDB มันมีแถวข้อมูลประมาณ 2M เมื่อฉันลบแถวข้อมูลออกจากตารางมันจะไม่ปล่อยพื้นที่ดิสก์ที่จัดสรร ขนาดของไฟล์ ibdata1 ไม่ลดลงหลังจากรันoptimize tableคำสั่ง มีวิธีการเรียกคืนพื้นที่ดิสก์จาก MySQL หรือไม่ ฉันอยู่ในสถานการณ์ที่ไม่ดี แอปพลิเคชั่นนี้ทำงานในสถานที่ต่างกันประมาณ 50 แห่งและขณะนี้ปัญหาเรื่องพื้นที่ดิสก์เหลือน้อยปรากฏขึ้นเกือบทั้งหมด
140 mysql  innodb  delete-row 

8
รูปแบบวันที่ MySQL แบบสอบถามแบบเลือก DD / MM / YYYY
ฉันสับสนเล็กน้อยเกี่ยวกับวิธีสั่งซื้อตามรูปแบบวันที่ สำหรับรูปแบบที่YYYY-MM-DDคุณจะทำ:...ORDER BY date DESC... วิธีที่คุณจะสั่งซื้อโดยDD/MM/YYYY? สิ่งนี้ไม่ทำงาน: SELECT * FROM $table ORDER BY DATE_FORMAT(Date, '%Y%m%d') DESC LIMIT 14
140 mysql 

10
แปลงข้อความเป็นตัวเลขในแบบสอบถาม MySQL
สามารถแปลงข้อความเป็นตัวเลขภายในแบบสอบถาม MySQL ได้หรือไม่? ฉันมีคอลัมน์ที่มีตัวระบุซึ่งประกอบด้วยชื่อและตัวเลขในรูปแบบ "ชื่อ - หมายเลข" คอลัมน์นี้มีประเภท VARCHAR ฉันต้องการจัดเรียงแถวตามหมายเลข (แถวที่มีชื่อเดียวกัน) แต่คอลัมน์จะเรียงตามลำดับอักขระเช่น name-1 name-11 name-12 name-2 หากฉันตัดตัวเลขฉันสามารถแปลงหมายเลข 'varchar' เป็นจำนวน 'จริง' และใช้เพื่อจัดเรียงแถวได้หรือไม่ ฉันต้องการรับคำสั่งต่อไปนี้ name-1 name-2 name-11 name-12 ฉันไม่สามารถแสดงตัวเลขเป็นคอลัมน์แยกต่างหาก แก้ไขเมื่อ 2011-05-11 9:32 ฉันพบวิธีแก้ไขต่อไปนี้... ORDER BY column * 1แล้ว หากชื่อไม่มีตัวเลขจะถูกบันทึกเพื่อใช้โซลูชันนั้นหรือไม่?
140 mysql  sql 

3
ฉันจะหลีกเลี่ยงคำที่สงวนไว้ซึ่งใช้เป็นชื่อคอลัมน์ได้อย่างไร MySQL / สร้างตาราง
ฉันกำลังสร้างตารางจากคลาสใน. NET และปัญหาหนึ่งคือคลาสอาจมีชื่อฟิลด์keyซึ่งเป็นคำหลัก MySQL ที่สงวนไว้ ฉันจะหนีมันไปในคำสั่งสร้างตารางได้อย่างไร (หมายเหตุ: ปัญหาอื่น ๆ ด้านล่างคือข้อความจะต้องมีขนาดคงที่เพื่อจัดทำดัชนี / ไม่ซ้ำกัน) create table if not exists misc_info ( id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL, key TEXT UNIQUE NOT NULL, value TEXT NOT NULL)ENGINE=INNODB;
139 mysql  escaping 

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