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

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

30
การย้าย Laravel: รหัสเฉพาะยาวเกินไปแม้ว่าจะระบุไว้
ฉันกำลังพยายามโยกย้ายตารางผู้ใช้ใน Laravel เมื่อฉันทำการโยกย้ายฉันได้รับข้อผิดพลาดนี้: [Illuminate \ Database \ QueryException] SQLSTATE [42000]: ข้อผิดพลาดทางไวยากรณ์หรือการละเมิดการเข้าถึง: 1071 รหัสที่ระบุยาวเกินไป ความยาวสูงสุดของคีย์คือ 767 ไบต์ (SQL: แก้ไขตารางusersเพิ่ม users_email_uniq ที่ไม่ซ้ำกัน ( email)) การย้ายถิ่นของฉันเป็นดังนี้: Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('name', 32); $table->string('username', 32); $table->string('email', 320); $table->string('password', 64); $table->string('role', 32); $table->string('confirmation_code'); $table->boolean('confirmed')->default(true); $table->timestamps(); $table->unique('email', 'users_email_uniq'); }); หลังจาก googling ฉันพบรายงานข้อผิดพลาดนี้ที่ Taylor บอกว่าคุณสามารถระบุคีย์ดัชนีเป็นพารามิเตอร์ที่ 2 …
166 php  mysql  laravel 

7
การแบ่งฐานข้อมูลและการแบ่งพาร์ติชัน
ฉันได้อ่านเกี่ยวกับสถาปัตยกรรมที่ปรับขนาดได้เมื่อเร็ว ๆ นี้ ในบริบทที่สองคำที่ให้ในการแสดงขึ้นที่เกี่ยวกับฐานข้อมูลจะshardingและแบ่งพาร์ทิชัน ฉันค้นหาคำอธิบาย แต่ก็ยังสับสนอยู่ ผู้เชี่ยวชาญที่ stackoverflow ช่วยฉันได้พื้นฐานใช่มั้ย ความแตกต่างระหว่างคืออะไรshardingและแบ่งพาร์ทิชัน ? มันเป็นความจริงว่า'ฐานข้อมูล sharded ทั้งหมดจะถูกแบ่งพาร์ติชันหลัก (มากกว่าโหนดที่แตกต่างกัน) แต่ฐานข้อมูลแบ่งพาร์ติชันทั้งหมดจะไม่จำเป็นต้อง sharded' ?

5
อัปเดตหลายตารางใน MySQL โดยใช้ LEFT JOIN
ฉันมีสองตารางและต้องการอัปเดตเขตข้อมูลใน T1 สำหรับแถวทั้งหมดใน LEFT JOIN สำหรับตัวอย่างง่ายๆอัปเดตแถวทั้งหมดของชุดผลลัพธ์ต่อไปนี้: SELECT T1.* FROM T1 LEFT JOIN T2 ON T1.id = T2.id WHERE T2.id IS NULL MySQL คู่มือระบุว่า: คำสั่ง UPDATE หลายตารางสามารถใช้การเข้าร่วมประเภทใดก็ได้ในคำสั่ง SELECT เช่น LEFT JOIN แต่ฉันไม่พบไวยากรณ์ที่เหมาะสมสำหรับการทำเช่นนั้นใน UPDATE หลายตารางที่ทำเป็นเอกสาร ไวยากรณ์ที่เหมาะสมคืออะไร?
165 mysql  sql-update 

7
ตัวคั่นใน MySQL
ฉันมักจะเห็นคนกำลังใช้ตัวคั่น ฉันพยายามค้นหาว่าตัวคั่นคืออะไรและมีจุดประสงค์อะไร หลังจาก googling 20 นาทีฉันไม่สามารถหาคำตอบที่ทำให้ฉันพอใจ ดังนั้นคำถามของฉันคือตอนนี้: ตัวคั่นคืออะไรและฉันควรใช้เมื่อใด
165 mysql  delimiter 

10
ฉันจะเริ่มต้นฐานข้อมูล MySQL ด้วยสคีมาในคอนเทนเนอร์ Docker ได้อย่างไร
ฉันพยายามสร้างคอนเทนเนอร์ด้วยฐานข้อมูล MySQL และเพิ่มสคีมาลงในฐานข้อมูลเหล่านี้ Dockerfile ปัจจุบันของฉันคือ: FROM mysql MAINTAINER (me) <email> # Copy the database schema to the /data directory COPY files/epcis_schema.sql /data/epcis_schema.sql # Change the working directory WORKDIR data CMD mysql -u $MYSQL_USER -p $MYSQL_PASSWORD $MYSQL_DATABASE < epcis_schema.sql ในการสร้างที่เก็บฉันปฏิบัติตามเอกสารที่ให้ไว้ใน Docker และดำเนินการคำสั่งนี้: docker run --name ${CONTAINER_NAME} -e MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} -e MYSQL_USER=${DB_USER} -e …

10
ข้อผิดพลาด 1044 (42000): การเข้าถึงถูกปฏิเสธสำหรับผู้ใช้ '' @ 'localhost' ไปยังฐานข้อมูล 'db'
ฉันต้องการเริ่มเขียนแบบสอบถามใน MySQL show grants แสดงให้เห็นว่า: +--------------------------------------+ | Grants for @localhost | +--------------------------------------+ | GRANT USAGE ON *.* TO ''@'localhost' | +--------------------------------------+ ฉันไม่มี user-id ใด ๆ แต่เมื่อฉันต้องการสร้างผู้ใช้ฉันไม่มีสิทธิ์พิเศษฉันยังไม่รู้วิธีการใช้สิทธิ์แม้เมื่อฉันไม่มีผู้ใช้คนเดียว! mysql> CREATE USER 'parsa'@'localhost' IDENTIFIED BY 'parsa'; ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER pr ivilege(s) for …
164 mysql 

2
วิธีการเพิ่มข้อ จำกัด ไม่เป็นโมฆะในคอลัมน์ที่มีอยู่ใน MySQL
ฉันมีชื่อตารางชื่อ "บุคคล" ที่มีชื่อคอลัมน์ต่อไปนี้ P_Id(int), LastName(varchar), FirstName (varchar). ฉันลืมที่จะให้NOT NULLข้อ จำกัด P_Idในการ ตอนนี้ผมพยายามกับแบบสอบถามต่อไปนี้จะเพิ่มNOT NULLข้อ จำกัด กับคอลัมน์ที่มีอยู่เรียกว่าP_Id, 1. ALTER TABLE Person MODIFY (P_Id NOT NULL); 2. ALTER TABLE Person ADD CONSTRAINT NOT NULL NOT NULL (P_Id); ฉันได้รับข้อผิดพลาดทางไวยากรณ์ ....
164 mysql  constraints 

9
ตัวดำเนินการนี้คืออะไร <=> ใน MySQL
ฉันกำลังทำงานกับโค้ดที่เขียนโดยนักพัฒนาคนก่อนหน้านี้ WHERE p.name &lt;=&gt; NULL อะไร&lt;=&gt;หมายถึงในแบบสอบถามนี้? มันเท่ากับ=อะไรเหรอ? หรือเป็นข้อผิดพลาดทางไวยากรณ์หรือไม่ แต่จะไม่แสดงข้อผิดพลาดหรือข้อยกเว้น ผมรู้อยู่แล้วว่า&lt;&gt;= !=ในMySQL

2
วิธีที่แนะนำในการเชื่อมต่อกับ MySQL จาก Go คืออะไร?
ฉันกำลังมองหาโซลูชันที่เชื่อถือได้เพื่อเชื่อมต่อกับฐานข้อมูล MySQL จาก Go ฉันเคยเห็นห้องสมุดรอบ ๆ แล้ว แต่ก็ยากที่จะกำหนดสถานะที่แตกต่างของความสมบูรณ์และการบำรุงรักษาในปัจจุบัน ฉันไม่มีความต้องการที่ซับซ้อน แต่ฉันต้องการที่จะรู้ว่าสิ่งที่ผู้คนพึ่งพาหรืออะไรคือโซลูชั่นมาตรฐานที่สุดในการเชื่อมต่อกับ MySQL
163 mysql  database  go 

13
ไม่พบคำสั่ง Mysql ใน OS X 10.7
ฉันไม่สามารถทำให้ mysql ของฉันเริ่มต้นใน OS x 10.7 มันตั้งอยู่ใน/usr/local/mysql/bin/mysql ฉันไม่ได้รับคำสั่งเมื่อฉันพิมพ์mysql --versionใน terminal ฉันพยายามนี้ไม่สามารถเข้าถึง mysql จาก mac command lineแต่ก็ยังไม่พบคำสั่ง ฉันพยายามติดตั้ง mysql ด้วย dmg และฉันพยายามติดตั้งผ่าน homebrew และฉันไม่สามารถใช้งานได้ เมื่อฉันพยายามเริ่ม mysql กับ homebrew ฉันจะได้รับMySQL จะไม่เริ่มทำงาน นี่คือของฉัน$PATH: / usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr …
163 mysql 

5
มีแบบแผนการตั้งชื่อสำหรับ MySQL หรือไม่?
นี่คือวิธีที่ฉันทำ: ชื่อตารางเป็นกรณีที่ต่ำกว่าขีดล่างใช้ถ้อยคำที่แยกต่างหากและเป็นเอกพจน์ (เช่นfoo, foo_barฯลฯ ฉันโดยทั่วไป (ไม่เสมอไป) มีการเพิ่ม PK อัตโนมัติ ผมใช้การประชุมดังต่อไปนี้tablename_id(เช่นfoo_id, foo_bar_idฯลฯ ) เมื่อตารางมีคอลัมน์ที่เป็นคีย์ต่างประเทศฉันเพิ่งคัดลอกชื่อคอลัมน์ของคีย์นั้นจากตารางใดก็ตามที่มาจาก ตัวอย่างเช่นสมมติว่าตารางfoo_barมี FK foo_id(ซึ่งfoo_idเป็น PK ของfoo) เมื่อกำหนด FK เพื่อบังคับใช้ Referential Integrity ฉันจะใช้สิ่งต่อไปนี้: tablename_fk_columnname(เช่นการยกตัวอย่างที่ 3 เพิ่มเติมfoo_bar_foo_id) เนื่องจากนี่เป็นการรวมชื่อตาราง / ชื่อคอลัมน์จึงรับประกันได้ว่าจะไม่ซ้ำกันภายในฐานข้อมูล ฉันเรียงลำดับคอลัมน์เช่นนี้: PKs, FKs และคอลัมน์อื่น ๆ ตามลำดับตัวอักษร มีวิธีที่ดีกว่าและเป็นมาตรฐานมากกว่านี้หรือไม่?

2
หมายความว่าอย่างไรเมื่อ MySQL อยู่ในสถานะ“ ส่งข้อมูล”?
หมายความว่าอย่างไรหากแบบสอบถาม Mysql: SHOW PROCESSLIST; ส่งคืน "การส่งข้อมูล" ในคอลัมน์สถานะหรือไม่ ฉันคิดว่ามันหมายถึงแบบสอบถามได้ถูกดำเนินการและ MySQL กำลังส่งข้อมูล "ผลลัพธ์" ไปยังลูกค้า แต่ฉันสงสัยว่าทำไมมันใช้เวลานานมาก (ไม่เกินหนึ่งชั่วโมง) ขอบคุณ.
163 mysql 

6
MySQL CONCAT ส่งคืน NULL ถ้าเขตข้อมูลใดมี NULL
ฉันมีข้อมูลต่อไปนี้ใน "อุปกรณ์" ในตารางของฉัน affiliate_name affiliate_location model ip os_type os_version cs1 inter Dell 10.125.103.25 Linux Fedora cs2 inter Dell 10.125.103.26 Linux Fedora cs3 inter Dell 10.125.103.27 NULL NULL cs4 inter Dell 10.125.103.28 NULL NULL ฉันดำเนินการค้นหาด้านล่าง SELECT CONCAT(`affiliate_name`,'-',`model`,'-',`ip`,'-',`os_type`,'-',`os_version`) AS device_name FROM devices มันส่งคืนผลลัพธ์ที่ระบุด้านล่าง cs1-Dell-10.125.103.25-Linux-Fedora cs2-Dell-10.125.103.26-Linux-Fedora (NULL) (NULL) วิธีที่จะออกมาจากสิ่งนี้เพื่อที่จะไม่สนใจค่า NULL และผลลัพธ์ควรเป็น cs1-Dell-10.125.103.25-Linux-Fedora cs2-Dell-10.125.103.26-Linux-Fedora …
163 mysql  sql  null  concat 

19
รหัสผ่านของคุณไม่ตรงตามข้อกำหนดนโยบายปัจจุบัน
ฉันต้องการสร้างผู้ใช้ใหม่ใน mysql ด้วยไวยากรณ์: create user 'demo'@'localhost' identified by 'password'; แต่ส่งกลับข้อผิดพลาด: รหัสผ่านของคุณไม่ตรงตามข้อกำหนดนโยบายปัจจุบัน ฉันลองใช้รหัสผ่านหลายรหัสแล้ว แต่ใช้ไม่ได้ ฉันจะแก้ไขปัญหานี้ได้อย่างไร?
163 mysql  passwords 


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