mysql workbench를 사용하고 있습니다.. ..
view를 하나 만들고 select를 한뒤에 ..
result grid에 .. 결과물을 표시하고 ... 값을 변경 하려고 하면..
변경할 수 가 없습니다.
apply 나오는 오른쪽 하단 버튼 부근에 read only 라고 표시 되구요 ..
찾아보니 primary key 가 result 에 없을 경우 read only 로 표시 되고 .. 수정이 불가능하다고 뜨는데 ..
id 가 autoincrement 로 되어있고 pk 로 잡혀있고 view 만들때 select * from aaa;
이런식으로 줬기때문에 .. result grid 에 .. id 가 포함되어 .. 화면에 표시되는 사항입니다..
이 read only 를 푸는 방법이나... view 를 사용할 시 result grid에서 .. 수정 할 수 있는 방법을 알 수 있을까요 ?
sql 문을 이용한 업데이트 문은 잘 동작 합니다.
view´Â ¿ø·¡ update°¡ ¾ÈµÇ´Â °Í ¾Æ´Ñ°¡¿ä?
View º»¿¬ÀÇ ¸ñÀûÀº º¸¾ÈÀÔ´Ï´Ù.
¿ø·¡ Å×À̺í·Î ¾÷µ¥ÀÌÆ®¸¦ ÇØ¾ß SQL ÀÛ¼º ¿øÄ¢¿¡ ºÎÇÕÇÕ´Ï´Ù.
ÇöÀç Å×ÀÌºí¿¡ PK(primary key)³ª NOT NULL, unique index ¼Ó¼ºÀÌ ¾øÀ¸¹Ç·Î Read Only°¡ µÈ´Ù.
Ãâó: http://blog.opid.kr/393 [opid's document]
Ä÷³ ¼Ó¼ºÀ» ¼öÁ¤ÇÏ¸é µÇÁö¾ÊÀ»±î¿ä?
## Ä÷³ ¼Ó¼º ¼öÁ¤ mysql > ALTER TABLE Å×À̺í¸í MODIFY Ä÷³¸í ŸÀÔ,¼Ó¼º; # ¼Ó¼º : NOT NULL / AUTO_INCREMENT / PRIMARY KEY / FIRST / AFTER Ä÷³¸í);
# ex) ALTER TABLE Å×À̺í¸í MODIFY Ä÷³¸í INT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
±×·±µ¥ Àú·¸°Ô ÇØÁÖ´Â°Ô PK ¾Æ´Ñ°¡ ½ÍÀºµ¥.. ¸»ÀÌÁÒ.
´ç¿¬È÷ not null ÀÌ µÇ°í uniq index ¼Ó¼ºÀÌ Àְŵç¿ä ..
uniq indexµµ Ãß°¡ Çغ¸°í ±×¸®°í not null Çʵ嵵 ¸¹ÀÌ ÀÖ±¸¿ä ...
ÀÌ°ÍÀú°Í Çغ¸´Ù ¾ÈµÇ¼ ±×³É view ´Â grid¿¡¼ ÆíÁýÀÌ ¾ÈµÇ³ª º¸´Ù ÇÏ°í ÀÖ´Â ÁßÀÔ´Ï´Ù.. ´äº¯ °¨»çÇÕ´Ï´Ù.
https://stackoverflow.com/questions/46905760/mysql-workbench-read-only-results-grid-issue
`o`.`id` AS `id`,
`o`.`od_no` AS `od_no`,
`o`.`dst` AS `dst`,
`a`.`target_user` AS `target_user`,
`o`.`shop` AS `shop`,
`o`.`factory` AS `factory`,
`o`.`p_name` AS `p_name`,
`o`.`p_option` AS `p_option`,
`o`.`p_qty` AS `p_qty`,
`o`.`p_bqty` AS `p_bqty`,
ÀÌ°Ô ÀÚµ¿À¸·Î ¹Ù²î¾î¿ä .. o.* Çϸé.. ¿öÅ©º¥Ä¡°¡ ÀÚµ¿À¸·Î Àú·¸°Ô Ç®¾î¼ ÇØÁÝ´Ï´Ù... ^^