๋งˆ MaterialToolbar ์•ผ ๋‹ˆ ๋จธ์„  ๊ณ ๋ฏผ ์žˆ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ผ๋Š”๋ฐ ์™œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์•ˆ ๋Œ์•„๊ฐ€๋Š”๋ฐ

 

 

MainActivity.kt

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding
    private lateinit var toolbar: MaterialToolbar

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        toolbar = findViewById(R.id.toolbar)
        setToolbarListener()
    }
    
    ...
}

 

toolbar = findViewById(R.id.toolbar) ์ด ๋ผ์ธ๋งŒ ์“ฐ๋ฉด ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ๋จนํ†ต์ด ๋ผ์„œ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ถ„๋ช…ํžˆ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ดํ‹€์„ ์—ฌ๊ธฐ๋งŒ ๋œฏ์–ด๋ณด๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๋ฌธ์ œ๋Š” ๋‹ค๋ฅธ ๊ณณ์— ์žˆ์—ˆ๋‹ค

 

์‹ค์ œ ์›์ธ์€ ํˆด๋ฐ”์™€ ํˆด๋ฐ”๋ฅผ includeํ•œ ๋ ˆ์ด์•„์›ƒ์—์„œ ๋˜‘๊ฐ™์€ id๋ฅผ ์ค‘๋ณต์œผ๋กœ ์‚ฌ์šฉํ–ˆ๋˜ ๊ฒƒ์ด์—ˆ๋‹ค

toolbar ๋ผ๋Š” ์•„์ด๋””๋ฅผ ๊ฐ€์ง„ ๊ฐœ์ฒด๊ฐ€ ๋‘ ๊ฐœ๊ฐ€ ์žˆ์œผ๋‹ˆ ์–ด๋–ค ๊ฑธ ์ฐพ์•„์„œ ๋ฐ”์ธ๋”ฉํ•ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ์„œ cannot be cast ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค

 

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <com.google.android.material.appbar.MaterialToolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:menu="@menu/menu_toolbar"
        app:title="@string/app_name"
        style="@style/Widget.MaterialComponents.Toolbar.Primary"/>

</com.google.android.material.appbar.AppBarLayout>

 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <include
        android:id="@+id/toolbar"
        layout="@layout/toolbar"/>

    ...

</androidx.constraintlayout.widget.ConstraintLayout>

 

๋ณ€๊ฒฝ ํ›„

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <include
        android:id="@+id/included_toolbar"
        layout="@layout/toolbar"/>

    ...

</androidx.constraintlayout.widget.ConstraintLayout>

 

์ค‘๋ณต๋˜์ง€ ์•Š๊ฒŒ ์•„์ด๋””๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๊ณ  ์‹คํ–‰์‹œํ‚ค๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค

๋‚˜๋„ ๋ฉ‹์žˆ๊ฒŒ ์ปค๋งจ๋“œ๋ผ์ธ ์จ์„œ ์ž‘์—…ํ•˜๊ณ  ์‹ถ๋‹ค. ๊ทผ๋ฐ ๋‚œ ์›Œํฌ๋ฒค์น˜ ์“ด๋‹ค. ์ผ๋‹จ ํ•ด๋ณด์ž๊ณ ๐Ÿ˜‚๐Ÿ˜‚

 

Workbench์—์„œ User ์ƒ์„ฑํ•˜๊ณ  ๊ถŒํ•œ ๋ถ€์—ฌํ•˜๊ธฐ


 

1. Workbench ๋ฉ”์ธํ™”๋ฉด์—์„œ root ๊ถŒํ•œ์œผ๋กœ ์ ‘์†ํ•œ๋‹ค.

 

 

2. ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๋นจ๊ฐ„ ํ…Œ๋‘๋ฆฌ๋กœ ํ‘œ์‹œํ•œ ์›ํ†ต ๋ชจ์–‘ ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ Schemas ํƒญ์—์„œ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•ด์„œ ์ƒˆ๋กœ์šด ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์Šคํ‚ค๋งˆ ์ด๋ฆ„์„ ์ž…๋ ฅํ•œ๋‹ค. Charset์€ utf-8์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, default๋กœ ์ƒ์„ฑํ•ด๋„ ๋˜‘๊ฐ™์€ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

3. ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ์ƒ์„ฑํ•œ๋‹ค. Administration ํƒญ์˜ Users and Privileges ๋˜๋Š” ์ƒ๋‹จ์˜ Server - Users and Privileges๋ฅผ ํ†ตํ•ด ๊ณ„์ •์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Add Account๋ฅผ ํด๋ฆญํ•ด ์ƒˆ๋กœ์šด ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๊ณ , ๋กœ๊ทธ์ธ๋ช…๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 

 

4. ์‚ฌ์šฉ์ž ๊ณ„์ •์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด Schema Privileges ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. Add Entry... ๋ฅผ ํด๋ฆญํ•ด ๊ถŒํ•œ์„ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•  ์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒํ•œ๋‹ค. 

 

 

 

์Šคํ‚ค๋งˆ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‚˜๋ฉด ์›ํ•˜๋Š” ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. Select ALL ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํ•œ ๋ฒˆ์— ๋ชจ๋“  ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

 

5. ์Šคํ‚ค๋งˆ ์ƒ์„ฑ ๋ฐ ์‚ฌ์šฉ์ž ๊ณ„์ • ์ƒ์„ฑ์„ ๋งˆ์น˜๋ฉด ๋‹ค์‹œ ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™€ MySQL Connections ์˜†์˜ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์ƒˆ๋กœ์šด Connection์„ ์ƒ์„ฑํ•ด์ค€๋‹ค.

 

 

์ƒ์„ฑํ•œ ๊ณ„์ •์˜ ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Test Connection ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. ์ œ๋Œ€๋กœ ์ ‘์†์ด ๋œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์•Œ๋ฆผ์ฐฝ์ด ๋œจ๊ณ , ๋ฉ”์ธํ™”๋ฉด์— ์ƒˆ๋กœ์šด Connection์ด ์ƒ๊ธด๋‹ค.

 

 

 

 

๋‹ค์Œ์—๋Š” ๋ช…๋ น์–ด ์ด์šฉํ•˜๊ธฐ ๋„์ „!

OS ํ™˜๊ฒฝ Windows 10

 

ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•ด ํ™˜๊ฒฝ์„ ์…‹ํŒ…ํ•˜๋ฉด์„œ ์—ญ์‹œ ์„ค์ •์ด ๊ฐ€์žฅ ์ง„์ด ๋น ์ง€๋Š”๊ตฌ๋‚˜ ์ƒ๊ฐํ•˜๋Š” ์ค‘์ด๋‹ค.

MySQL ์—ญ์‹œ MySQL ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ ์ดํ›„์— ํ•ด์•ผ ํ•  ์ผ์ด ๊ฝค ์žˆ๋‹ค. ๋งค๋ฒˆ ๊นŒ๋จน๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ๊ธฐ๋กํ•ด๋‘”๋‹ค.

 

 

1. Path ์„ค์ •

์„ค์น˜ ์ดํ›„ Path ์„ค์ •์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

์„ค์น˜ ๋‹ค ํ–ˆ๋‹ค๊ณ  ๋ฌด์ž‘์ • cmd์—์„œ mysql -u root -p ์ณ๋ด๋„ Path ์ถ”๊ฐ€๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์•˜์œผ๋ฉด ์ ‘์†์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.


Path ์„ค์ • ๋ฐฉ๋ฒ•์€ ์ด ํฌ์ŠคํŠธ์—์„œ ์„ค๋ช…ํ•ด๋‘์—ˆ๋‹ค.

 

 

[MySQL] MySQL ํ™˜๊ฒฝ๋ณ€์ˆ˜ Path ์„ค์ •ํ•˜๊ธฐ

MySQL์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. ์ด์ œ ์ ‘์†ํ•ด์„œ ์–ผ๋ฅธ ํ…Œ์ด๋ธ”๋„ ๋งŒ๋“ค๊ณ  ํ”„๋กœ์ ํŠธ๋Ÿ‰ ์—ฐ๊ฒฐํ•ด์•ผ์ง€ ! ! ! ! ! ๋‘๋‘ฅ 'mysql'์€(๋Š”) ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ ๋ช…๋ น, ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ, ๋˜๋Š” ๋ฐฐ์น˜ ํŒŒ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. MySQ

infdw.tistory.com

 

 

2. SQL_MODE ์„ค์ •

Windows OS์˜ ๊ฒฝ์šฐ SQL_MODE ๊ธฐ๋ณธ ์˜ต์…˜์ด ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

ํ˜‘์—… ์‹œ ๋˜๋Š” ์„œ๋ฒ„์— ์˜ฌ๋ฆฐ DB์™€ ์„ค์ •์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ์‚ฝ์งˆ์„ ํ”ผํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฏธ๋ฆฌ ์„ค์ •ํ•ด์ฃผ๊ณ  ์‹œ์ž‘ํ•˜๋Š” ํŽธ์ด ํŽธํ•˜๋‹ค.

 

SQL_MODE ์„ค์ • ๋ฐฉ๋ฒ•์€ ์ด ํฌ์ŠคํŠธ์—์„œ ์„ค๋ช…ํ•ด๋‘์—ˆ๋‹ค.

 

 

[MySQL] ONLY_FULL_GROUP_BY ์—๋Ÿฌ

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ GROUP BY๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Query์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. "Expression #20 of SELECT list is not in GROUP BY clause and contains nonaggregated column '์ปฌ๋Ÿผ๋ช…' which is not..

infdw.tistory.com

 

MySQL์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•˜๋‹ค. ์ด์ œ ์ ‘์†ํ•ด์„œ ์–ผ๋ฅธ ํ…Œ์ด๋ธ”๋„ ๋งŒ๋“ค๊ณ  ํ”„๋กœ์ ํŠธ๋Ÿ‰ ์—ฐ๊ฒฐํ•ด์•ผ์ง€ ! ! ! ! !

 

 

๋‘๋‘ฅ

 

 

'mysql'์€(๋Š”) ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ ๋ช…๋ น, ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ, ๋˜๋Š” ๋ฐฐ์น˜ ํŒŒ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค.

 

MySQL Server ์„ค์น˜ ํ›„ cmd ์ฐฝ์—์„œ MySQL์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์œ„์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

์ด๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜์—์„œ Path๋ฅผ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. MySQL์˜ ๊ฒฝ๋กœ๋ฅผ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

MySQL Server ๊ฒฝ๋กœ๋Š” MySQL Installer์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณ„๋„๋กœ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์•˜๋‹ค๋ฉด, ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋Š” C:\Program Files\MySQL\MySQL Server 8.0\bin ์ด๋‹ค.

 

 

์„ค์ • - ๊ณ ๊ธ‰ ์‹œ์Šคํ…œ ์„ค์ • - ์‹œ์Šคํ…œ ์†์„ฑ - ๊ณ ๊ธ‰ - ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋“ค์–ด๊ฐ€์„œ Path๋ฅผ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

Path๋ฅผ ์„ค์ •ํ•ด์ฃผ๊ณ  ๋‹ค์‹œ cmd์ฐฝ์„ ์—ด์–ด์„œ MySQL์— ์ ‘์†ํ•ด๋ณด๋ฉด ์ ‘์†์ด ์„ฑ๊ณตํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ GROUP BY๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Query์—์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

 

"Expression #20 of SELECT list is not in GROUP BY clause and contains nonaggregated column '์ปฌ๋Ÿผ๋ช…' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by"

 

๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ MySQL 5.7 Version ๋ถ€ํ„ฐ SQL_MODE๊ฐ€ ์ƒ๊ฒผ๋‹ค๊ณ  ํ•œ๋‹ค. (์ฐธ๊ณ )

SQL_MODE๋Š” MySQL์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ(validation check) ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜๋Š” ์‹œ์Šคํ…œ ๋ณ€์ˆ˜์ด๋‹ค.

 

์—๋Ÿฌ๋Š” SQL_MODE์˜ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜์ธ ONLY_FULL_GROUP_BY์™€ ๊ด€๋ จ๋œ ๊ฒƒ์ด์—ˆ๋‹ค.

MySQL 8.0์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ONLY_FULL_GROUP_BY ์˜ต์…˜์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ, OS์˜ ์ฐจ์ด์ธ์ง€ ๋‚ด ๊ฐœ๋ฐœํ™˜๊ฒฝ์—๋Š” ์ ์šฉ๋˜์–ด ์žˆ์ง€ ์•Š์•˜๋‹ค. (์•„๋งˆ Windows OS์—ฌ์„œ ๊ทธ๋Ÿฐ ๊ฒƒ์ด ์•„๋‹๊นŒ ์ถ”์ธก)

๊ทธ๋ž˜์„œ ๋กœ์ปฌ์—์„œ๋Š” ์ œ๋Œ€๋กœ ๋Œ์•„๊ฐ€๋˜ ๊ธฐ๋Šฅ์ด ์„œ๋ฒ„์— ์˜ฌ๋ ธ์„ ๋•Œ ONLY_FULL_GROUP_BY ์˜ต์…˜์— ๊ฑธ๋ ค์„œ ๋จนํ†ต์ด ๋œ ๊ฒƒ์ด๋‹ค.

๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ํ†ต์ผํ•˜๊ธฐ ์œ„ํ•ด SQL_MODE์˜ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.

 

 

 

์ฟผ๋ฆฌ ์ˆ˜์ •ํ•˜๊ธฐ

GROUP BY์ ˆ์„ ์‚ฌ์šฉํ•  ๋•Œ SELECT ํ•ด์™€์•ผ ํ•˜๋Š” ์ปฌ๋Ÿผ์„ ๋ชจ๋‘ ๋‚˜์—ดํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. GROUP BY์— ์„ ์–ธ๋˜์ง€ ์•Š์€ ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

SELECT name, ANY_VALUE(email), Max(age) 
FROM MEMBER
GROUP BY name;

 

GROUP BY๋กœ ๋ฌถ์–ด์ฃผ์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ์— ANY_VALUE() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

SQL_MODE ์˜ต์…˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

ํ˜„์žฌ ์ ์šฉ๋˜์–ด ์žˆ๋Š” SQL_MODE๋ฅผ ์กฐํšŒ

 

MySQL ์„œ๋ฒ„์— ์ ‘์†(mysql -u root -p) ํ›„ SELECT @@SQL_MODE; ๋ช…๋ น์–ด๋กœ ํ˜„์žฌ ์ ์šฉ๋˜์–ด ์žˆ๋Š” SQL_MODE ์˜ต์…˜์„ ์กฐํšŒํ•œ๋‹ค. 

 

SELECT @@SQL_MODE;

 

SQL_MODE๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด my.ini (Windows OS) ํŒŒ์ผ์— SQL_MODE ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

** my.ini ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

1. ์‹คํ–‰์ฐฝ(์œˆ๋„์šฐํ‚ค + R)์—์„œ services.msc ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค์ฐฝ ์—ด๊ธฐ

2. MySQL80์˜ ์†์„ฑ์—์„œ ์‹คํ–‰ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธ (C:\ProgramData\MySQL\MySQL Server 8.0\my.ini)

 

 

 

 

์„ค์ • ์ถ”๊ฐ€ํ•˜๊ธฐ

my.ini ํŒŒ์ผ์—์„œ [mysqld] ๊ตฌ๊ฐ„์— sql_mode ์†์„ฑ์˜ ํ•„์š”ํ•œ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

 

sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

 

** my.ini ํŒŒ์ผ์˜ ์ˆ˜์ • ๊ถŒํ•œ ๋ณ€๊ฒฝํ•˜๊ธฐ

๊ถŒํ•œ์ด ์—†์–ด ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์•Œ๋ฆผ์ฐฝ์ด ๋œจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋Ÿด ๋•Œ๋Š” ์‚ฌ์šฉ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

my.ini ์˜ค๋ฅธ์ชฝ ํด๋ฆญ-์†์„ฑ-๋ณด์•ˆ ํƒญ์—์„œ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ์„ ํ—ˆ์šฉํ•ด์ฃผ๋ฉด ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

 

 

 

์ฐธ๊ณ 
https://info-lab.tistory.com/274

https://velog.io/@heumheum2/ONLYFULLGROUPBY

https://blog.jiniworld.me/64

+ Recent posts